




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、硬盘搜索系统设计与实现摘要:随着硬盘容量越来越大,在海量文件中搜索所需文件成为一个难题,桌面搜索应运而生。讨论了硬盘搜索系统功能模块的设计及实现过程,实践表明:系统基本满足了用户的需求,达到了预期的设计目标,方便了用户搜索和管理本地硬盘。关键词:硬盘搜索系统;索引;模块设计0引言随着计算机技术的发展,本地和互联网上的信息量越来越大,想要获取有用的信息相当困难。传统的人工筛选方式容易出错且效率很低,因而在庞大的数据中进行人工筛选越来越不现实。随着个人计算机硬盘的不断扩充,本地计算机硬盘上的信息量也相当巨大,如果按照过去人工的方式去搜索信息显然费时费力效率低下,因而需要借助桌面搜索软件来辅助人们的
2、工作。显然,使用搜索系统可以快速找到需要的信息,从而节省劳力并且提高工作效率。作为现代信息获取技术的主要应用,“搜索引擎”对于计算机相关人员来说是非常必要的。虽然google和百度等搜索巨头已经开发出了几款非常优秀的桌面搜索工具,但是他们所开发的搜索工具往往是功能强大但使用起来并不方便,同时占用着比较大的系统资源。因此设计出操作简单易用、占用系统资源小的硬盘搜索系统是相当有必要的,它能为用户提供一个快速、准确检索信息的解决方案。系统功能设计根据需求分析,搜索系统模块可分为两个主模块:索引模块和搜索模块。索引模块包含系统设置、建立索引和帮助3个子模块;搜索模块包含搜索关键字和自动生成目录2个子模
3、块。系统的功能模块如图1所示。索引模块设计主要包括正常索引、暂停索引和重新索引功能。正常索引的主要功能:按照系统的默认设置来建立索引。如果索引已经建立完成则是暂停状态,但当文件系统发生变化时,会对发生变化的文件进行索引或删除索引文档。如果当前正处于暂停索引状态,则取消暂停索引状态,转为继续索引。暂停索引的主要功能:暂停当前正在进行的索引操作,如果索引已经建立完成,则无论文件系统是否发生变化,都不对其进行索引或删除索引文档。重新索引的主要功能:删除索引目录,按索引设置对文件系统进行重新索引。创建索引流程:首先,获取系统时间,将其作为建立索引开始时间,对文件逐一进行分析,读取ini文件获取索引文件
4、的标志,如果为ture,则将其标志字串设置为该类型文件的后缀名,否则标志字串为空;然后,通过文件的后缀名判断是否建立索引,同样通过文件的后缀名决定是否进行文本转化,如果是纯文本文件,则直接构造文档,将文件位置字段、文件名字段、文件后缀名字段和内容字段加入到文档中,如果是Word或Excel,就提取其中的文本转换为txt临时文件,将实际文件位置字段和临时文件内容字段加入到文档然后删除临时文件,如果是不容易转换为文本文件的文件,则仅将其位置字段、文件名字段、文件后缀名字段加入到文档中;最后,再次获取系统时间作为建立索引结束时间。搜索模块设计主要功能包括普通搜索和高级搜索两个功能。普通搜索功能:按照
5、索引关键字对索引文件的默认搜索字段进行搜索并显示搜索结果。高级搜索功能:在普通搜索的基础上增加搜索的条件限制,如可选择搜索文件名或是文件内容等,筛选出最符合用户需要的搜索结果。搜索关键字流程:首先,用户输入关键字;然后,获取系统时间作为搜索开始时间,从索引文件内容和标题字段搜索关键字,获得结果形成一个数据集。接着,再次获取系统时间作为搜索结束时间,使用循环将数据集读出,然后将读出的结果经过处理后显示给用户,对于能直接打开的文件可直接打开,对于不可直接打开的文件可选择打开文件所在的文件夹;最后,显示搜索用时和搜索到的结果数。当搜索系统的索引文件建立好后,系统的搜索模块就可以利用已经建立好的索引对
6、关键字进行查询,查询关键字的过程如图2所示。整个查询和返回结果都是通过搜索引擎接口实现的,用户给出要查询的关键字,通过搜索引擎接口构造查询表达式,然后再通过查询解析器对查询表达式进行解析处理,最后把查询到的结果放入到队列中,如果队列中有合适的记录,则通过搜索引擎接口返回给用户。系统实现2.1建立索引建立索引的第一步是提取文本,首先要知道对哪些文件进行索引,即要知道索引的目录路径。本系统将所要索引的目录路径保存在名为config.xml的文件中,故在建立索引前应该先读取该文件,获得要建立索引的文件目录范围。成功读取文件后,对文件类型进行判断,判断该文件是否可以直接对其内容进行索引,因为对于某些文
7、件来说,可以直接提取文本,而对于某些非文本文件(如Word、Excel等文件)来说,若要对其内容进行索引,则需要先将文件转换为txt临时文件,然后再对转换后的txt文件进行索引,索引完成后应该立即删除txt临时文件。构建文档:对于所有文件来说,有些文件可以对其文件内容进行索引而有些文件无法对其文件内容进行索引。只要是文本文件或可转换为文本文件的文件,都可对其内容进行索引;而对于无法转换为文本文件的文件,则不对其文件内容索引,而只是对文件名、路径和大小建立索引。建立索引的主要代码如下:/对文件建索引/vparamname=file文件v/param/vparamname=writerv/para
8、m/vparamname二isText是否对其内容索引,是true,否falsev/parampublicstaticvoidIndexFile(FileInfofile,IndexWriterwriter,boolisText)try(tfile);doc.Add(newField(file.Extension,file.Name,);/这里一定要设置响应的编码格式,否则建立索引的时候不能正确读取内容并分词if(isText)doc.Add(newField(content,newStreamRead(erfile.FullName,Encoding.Default);writer.AddD
9、ocument(doc);catch(FileNotFoundExceptionfnfe)(fnfe.Message);/output(fnfe.Message);查询关键字打开搜索界面首页index.aspx,默认情况下是进行普通搜索。在输入框中输入关键字,输入框下提供可选择的查询文件类型,默认情况下是搜索所有文件。单击“提交”按钮,整个表单将提交给search.aspx页,在search.aspx页进行查询并返回查询结果。高级搜索与普通搜索相比,主要区别在于增加了搜索条件,也就是增加了搜索关键字,而这些增加的关键字都是一般文件所具有的属性,也就是说,高级搜索就是用户从一些固定关键字中选择若
10、干关键字并与所查询的关键字组合成要搜索的关键字,然后查询此新的关键字。此项功能主要在于选择筛选的条件。按照指定的关键字进行查找之后,就需要把搜索结果很好地呈现给用户。有时查询结果的记录条数可能不只一条,而是成百上千条,这时就需要对查找结果进行分页显示。在本系统中,搜索结果将逐条显示在Web页面上。将搜索结果逐条显示在页面上的主要代码如下:asp:repeaterid=Repeater1runat=serverDataSource=ahref=#onclick=Run()class=linkahref=#onclick=Run()class=link字节Resultpage:asp:repeaterid=Repeater2runat=serverDataSource=结语本系统具有界面友好、操作简单、易于维护等特点,主要实现了建立索引、搜索关键字和自动生成目录等功能,基本满足了用户的要求,达到了预期的设计目标,方便了用户搜索和管理本地硬盘。参考文献参考文献:殷泰辉,张强,杨豹,等.C#编程从基础到实践M.北京:电子工业出版社,2007.李刚,宋伟,邱哲征服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学一年级语文考试重点试题及答案
- 干法测试题及答案解析视频
- 2024食品质量控制的要点与技巧试题及答案
- 美容师与客户互动技巧解析试题及答案
- 2025年小学一年级语文测验内容与答案
- 小学一年级语文考试的针对性试题及答案
- 2025年新员工入职安全培训考试试题及答案(全优)
- 2025年员工三级安全培训考试试题及答案【网校专用】
- 2025年项目管理人员年度安全培训考试试题答案A卷
- 25年公司三级安全培训考试试题附参考答案(完整版)
- GB/T 13384-2008机电产品包装通用技术条件
- 新教科版五年级下册科学期中测试卷(含答案)
- 员工培训请给我结果课件
- 2022年4月自考质量管理(一)试题及答案含评分标准
- 人教精通版五年级下英语unit 4 Revision优秀课件
- 思修坚定理想信念宣讲教育课件
- 两台37kW三相交流电动机的动力配电柜设计
- 拖欠房租起诉书【5篇】
- 医院临时用药申请表
- 农民合作社财务报表(专业应用)
- T∕CIS 71001-2021 化工安全仪表系统安全要求规格书编制导则
评论
0/150
提交评论