宁波seo优化专栏

桌面搜索引擎规划

发布时间:2018-12-22 23:59:49
  摘要:针对现在干流桌面查找引擎用户体会欠好,索引实时性不高,体系资源占用率过高,查全率不高级缺陷。该文规划出一款言简意赅,功用强大,功用杰出,界面友爱的桌面查找引擎。支撑检索成果再检索,一起确保体系运行时cpu、内存和磁盘等较低的体系资源耗费。选用三种索引机制确保索引的实时性和体系的查全率。
  关键词:桌面查找引擎;体系资源占用率;查全率;友爱界面
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)20-4949-03
  DesignofaDesktopSearchEngine
  LIXiao-xin
  (DepartmentofMathematics,ShaanxiEducationCollege,Xian710061,China)
  Abstract:Currentlythemaindesktopsearchengineslackthegooduserexperience,andtheycannotbuildindexinstantly,andtheyhavehighresourcesoccupationrate.Sothethesisdesignsasmart,powerfulandfastdesktopsearchenginethathasthebetteruserexperience.Itsupportsthefunctionofre-retrivalofsearchresults.Apartfromthis,ithaslowresourcesoccupationrate,includingcpu,memoryanddisk.Andthethesisdesignsthreetypesofindexesthatensurethereal-timeandrecallratioofthedesktopsearchengine.
  Keywords:desktopsearchengines;resourcesoccupationrate;recallratio;friendlyinterface
  信息爆炸的年代,人类的回忆才能在不断的接受着挑战,查找成了代替回忆需求的卓有成效的办法,所以查找引擎应势而生。跟着硬盘容量的增大,用户本地文件体系目录结构越来越杂乱,文件数量越来越巨大,用户对本地文件快速查找的需求也越来越迫切,桌面查找成了查找领域的关注点,桌面查找的竞赛也成为各大查找引擎公司竞赛的焦点。Windows自带的查找功用查找速度很慢,在全盘中查找某个文件需求花费十几分钟的时刻(在Windows7和vista中有所改进),而用户的等候耐性是有限的,所以需求一款能提供高速查找硬盘文件的软件,来满意用户快速查询的需求。当前,各大查找公司都开发了自己的桌面查找引擎,但从用户体会、索引实时性和体系资源占用率上来说,都有很大的欠缺。所以开发一款实时性高,用户体会好,且占用体系资源低的桌面查找引擎成了大势所趋,而且桌面查找比web查找更靠近用户,用户粘度更大,所以假如能借助腾讯这个大平台来做这件事,我想应该会赢得广阔用户的欢迎和认可。
  1相关产品
  Windows下已有几款比较老练的桌面查找软件。这些软件按其干流功用分为两类:对文件特点信息的查找和对文本文件内容的查找。对文件特点信息的查找软件首要有Filefinder、Ava、Locate;对文本文件内容索引的软件首要有Google桌面查找、百度硬盘查找、微软桌面查找、中搜网络猪等。
  1)Google桌面查找Google公司开发,主页为http://desktop.google.com/;首要对各种文本文件内容索引和检索,能够对各种格局文件进行解析,能够查找邮件和即时消息,现在拥有较大用户群。首要缺陷是索引进程或许需求几个小时,索引文件一般占用几百兆到几吉硬盘空间,查找时需求敞开专门服务器,占用资源较大,以网页办法给出查找成果,不适合与一般电脑用户。
  2)百度硬盘查找:百度公司开发,主页为http://disk.baidu.com,在国内亦拥有较大用户群,完成办法和运用界面均与google桌面查找相似。
  3)微软桌面查找:微软公司开发,主页为http://desktop.china.msn.com,微软桌面查找是一款针对电子邮件、Office文档、MP3、图片、联系人等信息的查找软件。
  4)网络猪:由中搜公司开发,主页为http://pig.zhongsou.com/,查找本地文档和邮件。
  以上几款大型桌面查找软件缺陷是树立索引需求时刻长,更新索引速度慢,索引实时性不高,硬盘等体系资源占用率高。例如用户群最大的Google桌面查找,树立一次索引一般需求几个小时,在我本机上的索引时刻大约20个小时,索引文件抵达2G,需求时刻敞开一个桌面查找服务器,即时用户不进行查找也需求耗费15M左右内存。
  2体系总控模块
  当用户启动体系之后,体系首要查看索引状态,包含三种:索引完好,索引不完好,没有索引,并提示给用户,当索引不完好或没有索引时,用户需求先运用批量索引功用树立索引,假如索引完好,用户能够挑选查询,或重新树立索引,或树立增量索引,增量索引的意思就是在原有索引的根底之上增量树立索引,而非覆盖原有索引。用户在查询时,能够挑选两种查询办法,一种是根据文件名关键字的查询,一种是根据文件内容的查询,体系针对这两种查询分别采取两种彻底不同的索引查询办法,具体进程稍后会讲,一起用户能够对查询文件经过特点信息过滤,比如经过文件巨细,修正时刻,文件类型等特点信息过滤,准确地定位用户需求。
  当体系启动之后,除了呼应用户的请求之外,体系还并行履行其他两个使命,一个是实时索引,一个是慢索引。履行这两个使命的意图是为了确保索引的实时性。实时索引实时捕获体系的文件操作,并树立动态数据结构索引,而慢索引则经过条件触发办法履行,触发慢索引的条件包含三种:1)抵达体系预设的索引更新时刻;2)实时索引中新增文件或目录抵达预设最大值;3)实时索引中符号删去文件或目录抵达预设最大值。三种触发条件确保了索引的实时性,一起也确保了体系的较低的内存运用率。
  查询数据显现给用户,能够选用根据文件巨细,修正时刻等特点的再排序操作,一起还经过用户在成果中二次查询操作,准确定位用户查询意图,满意用户快速查询需求。
  3磁盘扫描模块
  磁盘扫描模块针对快索引(批量索引、增量索引)和慢索引选用不同的扫描处理机制,使快索引能高速扫描,并确保慢索引极低的体系资源占用率。
  批量快索引选用多线程并行磁盘扫描办法,针对每个需求扫描树立索引的目录分别敞开一个线程去扫描。扫描的进程咱们选用栈来模拟递归,处理了递归函数深度调用带来的时刻和体系资源等耗费,提高了扫描速度。
  增量快索引相同选用多线程并行磁盘扫描办法,但在扫描进程中需求处理目录堆叠问题,避免了重复的磁盘扫描。所谓增量就是在原先索引的根底上新添目录索引,假定用户需求增量索引的目录调集为A,原先现已扫描索引的目录调集为B,则增量快索引在扫描磁盘时只需求扫描A-B(A与B的差集)目录调集中的目录。避免了重复扫描,加快了扫描速度。
  慢索引是一种隐式索引办法,是体系的一种索引更新办法,在用户发觉不到的情况下进行的,所以要求cpu,内存等体系资源占用率极低,因此在扫描硬盘时咱们选用单线程的办法来尽量的削减体系资源的占用率。
  4索引模块
  体系运用了三种索引形式:快索引、慢索引、实时索引,其间快索引又分为批量索引和增量索引。其间快索引是一种显式手动索引办法,慢索引和实时索引是一种隐式主动索引办法。
  快索引和慢索引选用倒排文件的索引办法,处理进程包含分词,树立倒排文件,除了对文件或目录名树立倒排索引之外,为了加快根据内容的查询,咱们还对扩展名树立了倒排索引,并选用红黑树结构对扩展名进行编号,完成快速编号且节省了存储空间。索引的内部数据选用gbk编码,对utf-8等其他编码进行了编码转化,节省了存储空间。倒排索引链表的存储选用游程编码和字节对齐的紧缩存储办法,即节省了硬盘空间,又削减了磁盘I/O时刻。倒排索引词典的树立选用完美哈希的办法,抵达O(1)时刻杂乱度的快速查找定位,而且只占用大约64KB左右的磁盘空间。
  分词进程选用n-gram语言模型,运用1-gram和2-gram相结合的分词策略,分别对中文、英文分词,确保了体系的查全率和查准率。
  实时索引并非倒排文件办法,而是选用了两种动态数据结构合作存储,包含:红黑树数据结构和Bloomfilter哈希表结构,两种数据结构合作操作,完成了对添加文件或目录、删去文件或目录、重命名文件或目录、移动文件或目录等文件操作的的快速实时索引。
  5查询模块
  经过数据分析对比发现,用户桌面查询需求首要集中在对文件特点信息的查询上,用户很少运用根据内容的查询服务,基本上符合2-8准则,所以针对文件特点和内容两种不同的查询需求,体系规划了两套索引查询办法,既确保了常用文件特点的查询操作的速度,又极大削减了磁盘等体系资源的占用率,一起,内容查询选用根据主动机理论的高效多形式串匹配算法,在一定程度上确保了内容查询的速度。
  根据文件特点的查询,宁波seo咱们选用预先树立倒排索引的办法(快索引,慢索引和实时索引),查询进程从倒排索引文件和实时索引动态数据结构中提取数据,排序处理并回来给用户。
  根据内容的查询,首要在扩展名倒排索引文件中提取出文本文件,然后对文本文件进行格局解析,抽取纯文本内容,然后经过AC-BM多形式串匹配算法进行关键词匹配,最后将包含用户查询关键词的文本文件回来给用户,一起这个进程选用并行处理技能,进一步提高了速度。
  6成果显现模块
  成果显现选用与资源管理器无缝结合,查找成果文件或目录能够直接操作,支撑在成果中查找,假如查找成果过多,能够进一步过滤;一起支撑各种排序显现,比如按文件巨细,修正时刻等显现;除此之外显现模块支撑分类显现,能够将成果按文件格局分类显现,方便用户查找。
  7结束语
  本论文规划的桌面查找引擎是一款言简意赅,功用强大,功用杰出,界面友爱的桌面查找引擎。首要处理了现在干流桌面查找引擎的一些缺陷,如用户体会欠好,索引实时性不高,查全率不高,索引和索引更新时刻过长,体系资源占用率过高级缺陷。功用方面,本桌面查找引擎支撑多关键词检索、通配符检索、准确检索、复合检索、文件类型检索以及检索成果的再检索,一起体系选用倒排索引和根据主动机理论的多形式串算法确保了体系的检索速度。针对文件特点和文件内容两种查询需求,规划了两套彻底不同的索引检索机制,确保体系运行时cpu、内存和磁盘等较低的体系资源耗费。选用手动显式索引和主动隐式索引来满意用户不同的索引需求,一起体系内部运用三种索引机制:快索引(又包含批量索引和增量索引),慢索引和实时索引,来确保索引的实时性和体系的查全率,对索引文件选用游程编码和字节对齐紧缩存储,进一步削减了磁盘占用率,一起提高了I/O磁盘操作速度。体系选用n-gram语言模型,规划了1-gram和2-gram相结合的分词算法,确保了体系的查全率和查准率。体系界面运用窗口界面,而非web界面,能够与资源管理器无缝结合,支撑对查找成果的二次查询,分类显现,排序显现,支撑对查找成果文件的直接修改操作,方便了用户的运用。
  参考文献:
  [1]丛磊.桌面查找引擎的研讨与完成[D].北京:北京化工大学,2006.
  [2]李伟超.桌面查找引擎分析[J].现代情报,2007,27(12):211-214.
  [3]孟美华.桌面查找引擎的规划与完成[D].大连:大连理工大学,2009.
  [4]任树怀,卢志国.根据Google桌面查找开发站内全文查找引擎[J].图书情报工作,2005,49(11):88-90.
  [5]李子臣.查找技能的现状及开展前景[J].情报科学,2006,24(3):468-474.
  [6]张卫丰,徐宝文.Web查找引擎结构研讨[J].计算机研讨与开展,2000,37(3):376-378.
  [7]张卫丰,徐宝文.Web查找引擎结构研讨[J].计算机研讨与开展,2000,37(3):376-378.
  [8]郭立力,赵春江.高效FTP查找引擎的规划与完成[J].华南理工大学学报,2009,37(1):135-139.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格局阅览原文
  本文转载自
  宁波seowww.leseo.net
  补充词条:宁波网络seo公司  宁波seo排名  宁波网络seo  宁波seo网站优化  宁波网站seo优化