lucene原理介绍

全文检索:是指以文本作为检索对象,找出含有指定词汇的文本。

 

全文检索功能的开发,要做的有两个方面:

1、索引库管理(维护索引库中的数据)

2、索引库中进行搜索。

而Lucene就是操作索引库的工具。

 

使用lucene的API操作索引库

对索引库的操作可以分为两种:管理与查询。

管理索引库使用IndexWriter,从索引库中查询使用IndexSearcher。

Lucene的数据结构为Document与Field。

 

Document代表一条数据,Field代表数据中的一个属性。一个Document中有多个Field,Field的值为String型,因为Lucene只处理文本。

我们只需要把在我们的程序中的对象转成Document,就可以交给Lucene管理了,搜索的结果中的数据列表也是Document的集合。

 

倒排序索引的原理就如同查字典。

要先查目录,得到数据对应的页码,在直接翻到指定的页码。不是在文章中找词,而是从目录中找词所在的文章。

这需要在索引库中生成一个词汇表(目录),在词汇表中的每一条记录都是类似于"词所在文档的编号列表"的结构,记录了每一个出现过的单词,和单词出现的地方(哪些文档)。

查询时先查词汇表,得到文档的编号,再直接取出相应的文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值