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

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

ID:4245831

大小:375.39 KB

页数:4页

时间:2017-11-30

基于lucene搜索引擎的设计与实现_第1页
基于lucene搜索引擎的设计与实现_第2页
基于lucene搜索引擎的设计与实现_第3页
基于lucene搜索引擎的设计与实现_第4页
资源描述:

《基于lucene搜索引擎的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2009年4月宁波职业技术学院学报Apr,2009第13卷第2期JournalofNingboPolytechnicVol.13No.2基于Lucene搜索引擎的设计与实现严良达(东南大学计算机科学与工程系,南京210000)摘要:Lucene是一个强大的全文索引引擎工具包,应用它可以快速地开发一个搜索引擎。介绍了基于英特网的中文搜索引擎的系统结构,Lucene的索引和搜索,并且设计实现了一个自己的搜索引擎———易搜中文搜索引擎。结果表明,基于Lucene的搜索引擎在索引和查找上的效率很高。关键词:Web;搜索引擎;Lucene中图分类号:TP393.4文献标识码:A文章编号:167

2、1-2153(2009)02-0057-040引言基础上,设计并实现了一个基于Lucene的搜索引擎———易搜中文搜索引擎。[1-2]Lucene是一个用Java写的全文检索引擎工具包,可以方便地嵌入到各种应用中实现针对应1搜索引擎的结构用的全文索引/检索功能,用户可以基于它开发出搜索引擎是根据用户的查询请求,按照一定[3-4]各种全文搜索的应用。它是一个全文检索引擎算法从索引数据中查找信息返回给用户。为了保的架构,提供了完整的查询引擎、索引引擎及部分证用户查找信息的精度和新鲜度,搜索引擎需要文本分析引擎。作为一个开放源代码项目,Lucene建立并维护一个庞大的索引数据库。一般的搜索

3、从问世之后,引发了开放源代码社群的巨大反响。引擎由网络机器人程序、索引与搜索程序、索引数本文在研究分析Lucene的系统结构、运作机制的据库等部分组成。系统结构如图1所示。网络机器人程序网络机器人程序WWW文档Lucene索引数据库建立Lucene索引从数据库中搜索信息JSPTomcat服务器WWW浏览器WWW浏览器图1系统结构收稿日期:2008-10-14作者简介:严良达(1980-),男,浙江宁波人,浙江工商职业技术学院助教,在职硕士研究生,从事网络和软件技术方面研究。2009年第2期·57·宁波职业技术学院学报(a)网络机器人。网络机器人也称为“网络蜘键是建立一个类似于科技索引

4、一样的反向索引机蛛”(Spider),是一个功能很强的Web扫描程序。它制,将数据源(比如多篇文章)排序顺序存储的同可以在扫描Web页面的同时检索其内的超链接并时,有另外一个排好序的关键词列表,用于存储关加入扫描队列等待以后扫描。因为Web中广泛使键词==>文章映射关系,利用这样的映射关系索用超链接,所以一个Spider程序理论上可以访问引:[关键词==>出现关键词的文章编号,出现次数整个Web页面。为了保证网络机器人遍历信息的(甚至包括位置:起始偏移量,结束偏移量),出现广度和深度,需要设定一些重要的链接并制定相频率],检索过程就是把模糊查询变成多个可以利关的扫描策略。用索引的精确

5、查询的逻辑组合的过程。从而大大(b)索引与搜索。网络机器人将遍历得到的页提高了多关键词查询的效率,所以,全文检索问题面存放在临时数据库中,如果通过SQL直接查询归结到最后是一个排序问题。信息速度将会很慢。为了提高检索效率,需要建立由此可以看出,模糊查询相对数据库的精确索引,按照倒排文件的格式存放。如果索引不及时查询是一个非常不确定的问题,这也是大部分数更新,用户用搜索引擎也不能检索到。用户输入搜据库对全文检索支持有限的原因。Lucene最核心索条件后搜索程序将通过索引数据库进行检索,的特征是通过特殊的索引结构实现了传统数据库然后把符合查询要求的数据库按照一定的策略进不擅长的全文索引机

6、制,并提供了扩展接口,以方行分级排列并且返回给用户。便针对不同应用的定制。(c)Web服务器。客户一般通过浏览器进行查2.3中文切分词机制询,这就需要系统提供Web服务器并且与索引数对于中文来说,全文索引首先还要解决一个据库进行连接。客户在浏览器中输入查询条件,语言分析的问题;对于英文来说,语句中单词之间Web服务器接收到客户的查询条件后在索引数据是天然通过空格分开的,但亚洲语言的中日韩文库中进行查询、排列,然后返回给客户端。语句中的字是一个字挨一个。所以,首先要把语句中按“词”进行索引的话,这个词如何切分出来就2Lucene的索引与搜索是一个很大的问题。Lucene是Jakarta

7、Apache的开源项目。它是一首先,肯定不能用单个字符作(si-gram)为索引个用Java写的全文索引引擎工具包,可以方便的单元,否则查“上海”时,不能让含有“海上”也匹嵌入到各种应用中实现针对应用的全文索引/检配。但一句话:“北京天安门”,计算机如何按照中索功能。文的语言习惯进行切分呢?“北京天安门”还是2.1全文检索的实现机制“北京天安门”?让计算机能够按照语言习惯进Lucene的API接口设计的比较通用,输入输行切分,往往需要机器有一个比较丰富的词

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。