Lucene是一个基于Java的全文索引工具包。
1.基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史
2.全文检索的实现:Luene全文索引和数据库索引的比较
3.中文切分词机制简介:基于词库和自动切分词算法的比较
4.具体的安装和使用简介:系统结构介绍和演示
5.HackingLucene:简化的查询分析器,删除的实现,定制的排序,应用接口的
扩展
6.从Lucene我们还可以学到什么
另外,如果是在选择全文引擎,现在也许是试试Sphinx的时候了:相比Lucene速度更快,
有中文分词的支持,而且内置了对简单的分布式检索的支持;
基于Java的全文索引/检索引擎——Lucene
Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可
以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。
Lucene的作者:Lucene的贡献者DougCutting是一位资深全文索引/检索专家,曾经是
VTwin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任
高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出的Lucene的
目标是为各种中小型应用程序加入全文检索功能。
Lucene的发展历程:早先发布在作者自己的www.lucene.com,后来发布在
SourceForge,2001年年底成为APACHE基金会jakarta的一个子项目:
http://jakarta.apache.org/lucene/
已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有:
Jive:WEB论坛系统;
Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文
档“TheLucenesearchengine:Powerful,flexible,andfree”作者就是
EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要
邮件列表归档系统。
Cocoon:基于XML的web发布框架,全文检索部分使用了Lucene
Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Lucene
对于中文用户来说,最关心的问题是其是否支持中文的全文检索。但通过后面对于Lucene
的结构的介绍,你会了解到由于Lucene良好架构设计,对中文的支持只需对其语言词法分
析接口进行扩展就能实现对中文检索的支持。
全文检索的实现机制
Lucene的API接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>字
段,所以很多传统的应用的文件、数据库等都可以比较方便的映射到Lucene的存储结构/接
口中。总体上看:可以先把Lucene当成一个支持全文索引的数据库系统。
比较一下Lucene和数据库:
Lucene 数据库
索引数据源:doc(field1,field2...)doc(field1,field2...)
\indexer/
_____________
索引数据源:record(field1,field2...)record(field1..)
\SQL:insert/
_____________
评论0
最新资源