电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于Lucene搜索引擎的设计与实现VIP免费

基于Lucene搜索引擎的设计与实现_第1页
1/4
基于Lucene搜索引擎的设计与实现_第2页
2/4
基于Lucene搜索引擎的设计与实现_第3页
3/4
··2009年第2期基于Lucene搜索引擎的设计与实现严良达(东南大学计算机科学与工程系,南京210000)摘要:Lucene是一个强大的全文索引引擎工具包,应用它可以快速地开发一个搜索引擎。介绍了基于英特网的中文搜索引擎的系统结构,Lucene的索引和搜索,并且设计实现了一个自己的搜索引擎———易搜中文搜索引擎。结果表明,基于Lucene的搜索引擎在索引和查找上的效率很高。关键词:Web;搜索引擎;Lucene中图分类号:TP393.4文献标识码:A文章编号:1671-2153(2009)02-0057-04收稿日期:2008-10-14作者简介:严良达(1980-),男,浙江宁波人,浙江工商职业技术学院助教,在职硕士研究生,从事网络和软件技术方面研究。0引言Lucene[1-2]是一个用Java写的全文检索引擎工具包,可以方便地嵌入到各种应用中实现针对应用的全文索引/检索功能,用户可以基于它开发出各种全文搜索的应用[3-4]。它是一个全文检索引擎的架构,提供了完整的查询引擎、索引引擎及部分文本分析引擎。作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响。本文在研究分析Lucene的系统结构、运作机制的基础上,设计并实现了一个基于Lucene的搜索引擎———易搜中文搜索引擎。1搜索引擎的结构搜索引擎是根据用户的查询请求,按照一定算法从索引数据中查找信息返回给用户。为了保证用户查找信息的精度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络机器人程序、索引与搜索程序、索引数据库等部分组成。系统结构如图1所示。图1系统结构WWW文档网络机器人程序网络机器人程序建立Lucene索引Lucene索引数据库从数据库中搜索信息Tomcat服务器WWW浏览器WWW浏览器JSP宁波职业技术学院学报JournalofNingboPolytechnic2009年4月Apr,2009第13卷第2期Vol.13No.257··2009年第2期宁波职业技术学院学报(a)网络机器人。网络机器人也称为“网络蜘蛛”(Spider),是一个功能很强的Web扫描程序。它可以在扫描Web页面的同时检索其内的超链接并加入扫描队列等待以后扫描。因为Web中广泛使用超链接,所以一个Spider程序理论上可以访问整个Web页面。为了保证网络机器人遍历信息的广度和深度,需要设定一些重要的链接并制定相关的扫描策略。(b)索引与搜索。网络机器人将遍历得到的页面存放在临时数据库中,如果通过SQL直接查询信息速度将会很慢。为了提高检索效率,需要建立索引,按照倒排文件的格式存放。如果索引不及时更新,用户用搜索引擎也不能检索到。用户输入搜索条件后搜索程序将通过索引数据库进行检索,然后把符合查询要求的数据库按照一定的策略进行分级排列并且返回给用户。(c)Web服务器。客户一般通过浏览器进行查询,这就需要系统提供Web服务器并且与索引数据库进行连接。客户在浏览器中输入查询条件,Web服务器接收到客户的查询条件后在索引数据库中进行查询、排列,然后返回给客户端。2Lucene的索引与搜索Lucene是JakartaApache的开源项目。它是一个用Java写的全文索引引擎工具包,可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。2.1全文检索的实现机制Lucene的API接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>字段,所以很多传统的应用文件、数据库等都可以比较方便的映射到Lucene的存储结构和接口中。总之,可以先把Lucene当成一个支持全文索引的数据库系统。2.2Lucene的索引效率由于数据库索引不是为全文索引设计的,因此,使用like“%keyword%”时,数据库索引是不起作用的。在使用like查询时,搜索过程又变成类似于一页页翻书的遍历过程了,所以对于含有模糊查询的数据库服务来说,like对性能的危害是极大的。如果是需要对多个关键词进行模糊匹配:like“%keyword1%”andlike“%keyword2%”…其效率也就可想而知了。所以建立一个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机制,将数据源(比如多篇文章)排序顺序存储的同时,有另外一个排好序的关键词列表,用于存储关键词==>文章映射关系,利用这样的映射关系索引:[关键词==>出现关键词的文章编号,出现次数(甚...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于Lucene搜索引擎的设计与实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部