Lucene构架全文搜索引擎Lucene历史是一个基于Java的全文索引工具包,Lucene的贡献者DougCutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些Internet底层架构的研究
他贡献出的Lucene的目标是为各种中小型应用程序加入全文检索功能
Lucene的发展历程:早先发布在作者自己的www
lucene
com,后来发布在SourceForge,2001年年底成为APACHE基金会Jakarta的一个子项目
已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有:Jive:WEB论坛系统;Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档“TheLucenesearchengine:Powerful,flexible,andfree”作者就是EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要邮件列表归档系统;Cocoon:基于XML的Web发布框架,全文检索部分使用了Lucene;Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Lucene
Lucene优点Lucene作为一个全文检索引擎,其具有如下突出的优点:(1)索引文件格式独立于应用平台
Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度
然后通过与原有索引的合并,达到优化的目的
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能(4)设计了独立于语言和文件格式的