Lucene-7.4.0简要先容和初学者快速上手

打印 上一主题 下一主题

主题 886|帖子 886|积分 2658

通过一个自建的索引案例,分几篇记录Lucene使用中的心得和存在的问题。
本文的目的是能让初学者快速学会Lucene的使用,所以所涉及的原理都会非常粗浅,而不讨论更深条理的实现过程。
一、什么是Lucene

首先看一下摘自百度百科的定义:“Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。”我们因此可以得知Lucene是一个开源程式库,用于创建索引并通过创建好的索引进行查询,得到相应的结果。
 二、Lucene与倒排索引

首先需要理解是的倒排索引,与倒排索引相对应的是正排索引。
正排索引

假设现在我们有m篇文档,在m篇文档中一共有n个关键词。此时我们可以将m篇文档看做是key,而n个关键词看做是value。正排索引就是通过key来找到value的过程。
联合图片来讲,针对m个文本,可以得知每个文本里面所包罗的关键词,我们输入文本的序号,得到文本中关键词的过程就叫做正排索引。

倒排索引 

而倒排索引则相反,假设我们已知m个文本,以及每个文本中包罗的n个关键词的相关信息。此时,我们输入关键词,得到包罗这个关键词的文本的过程就叫做倒排索引。如果说正排索引是从团体中提取出局部,那么倒排索引就是从局部反推出团体的过程。(这种说法并不严谨,但是便于理解。)

三、Lucene的实例讲解

下面用一个实例来简朴说明怎样使用Lucene来创建索引并进行查询。
1.任务目标:

现有若干个文本,要求输入关键字,返回包罗关键字的句子,这个句子所属的文本以及这个句子所处的位置是摘要部门照旧正文部门。
2.任务分解:

1.对文本进行解构,将文本的文件名、摘要、正文部门的内容分别放进差别的字符串或列表里
2.针对文件名、摘要、正文等信息分别创建域(Field),保存到索引文档中
3.调用索引,输入关键字,返回包罗关键词的句子、句子的所属部门和句子的所属文本
 Lucene的实现过程如图:



3.代码实现:

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表