基于LuceneWeb站点站内全文检索系统设计与实现.docVIP

基于LuceneWeb站点站内全文检索系统设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LuceneWeb站点站内全文检索系统设计与实现

基于LuceneWeb站点站内全文检索系统设计与实现   〔摘要〕设计一个基于开源检索工具包Lucene的Web站点站内全文检索系统,详述系统的设计思路与体系架构,并对中英文分词和添加文档索引等关键技术给出具体代码和实现步骤 ;最后对该系统进行简单的性能测试并与通用搜索引擎的检索结果进行查全率和查准率方面的比较。   〔关键词〕Lucene 全文检索 搜索引擎   〔分类号〕TP393.07   Design and Implementation of a Website Full-text Retrieval System Based on Lucene   Cao Qiang   Library of Center for Chinese and American Studies, Nanjing University, Nanjing210093   〔Abstract〕The paper designs a full-text retrieval system based on Lucene which can be employed in websites, elaborates on the design methods and the structure of the system, and presents major codes of key technologies such as segmentation of Chinese words, adding index to documents, etc. The paper also gives the results of system benchmark testing and comparing with the current universal search engine in aspects of recall and precision ratio.   〔Keywords〕Lucenefull-text retrievalsearch engine      1引言      对于Web站点来说,一个优秀的站内全文检索系统是不可或缺的。通常有两种方法:①使用通用的桌面搜索引擎如Google等提供的站内搜索功能来检索站点内部数据;②开发自己专用的站内全文检索系统。由于通用搜索引擎的索引更新较慢且针对性不强,因而第一种方法的检索结果有可能不全,还容易出现“坏链接”,查全率和查准率都难以保证。所以对于数据更新较快的站点来说,一般采用的是第二种方法。开发自己专用的站内全文检索系统。   目前大多数的web站点都是采用“后台数据库管理系统+前台活动页面”的模式构建,因而对于站内信息的检索,最直接的办法就是采用数据库管理系统自带的查询命令(如:like ‘%keyword%’等)来实现检索功能。但是由于这种模糊查询并非基于索引,而是需要实时地遍历整个数据库纪录中的文本字段进行匹配,因此其效率十分低下。当数据量很大的时候,系统对查询的响应速度会越来越慢以至于让人无法忍受。即使采用数据库索引,但是目前数据库的索引不是为文档的全文检索而设计的,因此其效率仍旧不高。   此外,对于少数未采用动态页面和数据库技术的站点来说,其采用的文档格式,如文本文档、word文档、PDF文档、HTML文档,等等,并不像数据库文档那样具备完整的查询功能。如何对这部分文档实现检索,也是一个难题。   由上所述,如何构建一个效率较高、针对性较强的通用型Web站点全文检索系统,是一个亟待解决的问题。笔者使用开放性的检索平台Lucene进行二次开发,设计了一个全文检索系统,较为圆满地解决了这个问题。      2关于Lucene      2.1Lucene简介   Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为应用程序提供索引和搜索功能。Lucene目前是Apache公司的一个开源项目,也是目前最为流行的基于Java的开源全文检索工具包[1]。   Lucene的检索本质上仍属于索引检索,即用空间来换取时间,对需要检索的文件、字符流进行全文索引,在检索的时候对索引进行快速的检索,得到检索位置,这个位置记录检索词出现的文件路径或者某个关键词。      2.2选择Lucene的原因   目前大部分的数据库引擎都是用B树结构来维护索引,索引的更新会导致大量的I/O操作,Lucene在实现中对此稍微有所改进:不是维护一个索引文件,而是在扩展索引时不断创建新的索引文件,然后定期地将这些新的小索引文件合并到原先的大索引中(针对不同的更新策略,批次的大小可以调整),这样在不影响检索的效率的前提下,提高了索

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档