<b>Lucene:基于Java的全文检索引擎简介</b>[Java编程]
本文“<b>Lucene:基于Java的全文检索引擎简介</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Lucene是一个基于Java的全文索引工具包.
基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史
全文检索的实现:Luene全文索引和数据库索引的对比
中文切分词机制简介:基于词库和自动切分词算法的对比
具体的安装和利用简介:系统构造介绍和演示
Hacking Lucene:简化的查询解析器,删除的实现,定制的排序,利用接口的扩大
从Lucene我们还可以学到什么
基于Java的全文索引/检索引擎——Lucene
Lucene不是一个完好的全文索引利用,而是是一个用Java写的全文索引引擎工具包,它可以便利的嵌入到各种利用中实现针对利用的全文索引/检索功效.
Lucene的作者:Lucene的奉献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开辟者,后在Excite担当高级系统架构计划师,目前从事于一些INTERNET底层架构的研究.他奉献出的Lucene的目标是为各种中小型利用程序加入全文检索功效.
Lucene的发展历程:早先公布在作者自己的www.lucene.com,后来公布在SourceForge,2001年年底成为APACHE基金会jakarta的一个子项目:http://jakarta.apache.org/lucene/
已经有很多Java项目都利用了Lucene作为后来台的全文索引引擎,对比闻名的有:
Jive:WEB论坛系统;
Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档“TheLucene search engine: Powerful, flexible, and free”作者就是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 / _____________ | Lucene Index| -------------- / searcher后果输出:Hits(doc(field1,field2) doc(field1...)) | 索引数据源:record(field1,field2...) record(field1..) SQL: insert/ _____________ | DB Index | ------------- / SQL: select 后果输出:results(record(field1,field2..) record(field1...)) |
Document:一个需求举行索引的“单元” 一个Document由多个字段构成 | Record:记录,包含多个字段 |
Field:字段 | Field:字段 |
Hits:查询后果集,由匹配的Document构成 | RecordSet:查询后果集,由多个Record构成 |
以上是“<b>Lucene:基于Java的全文检索引擎简介</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |