lucene浅谈

1.导图:

lucene浅谈_第1张图片

2.简述:

lucene是基于java的全文索引,用来快速的检索数据,之前我们接触到的是结构化的数据,例如数据库,但是对于非结构化数据内容的查找就需要lucene,我们在做项目的时候可能用不到lucene,但是用到的elasticsearch都是基于lucene的。

非结构化数据:文档里面的内容,如word、excel、文本文档等。

全文检索可以查询任意数据,包阔结构化数据和非结构化数据,简单的分析一下过程。

lucene浅谈_第2张图片
(1)首先需要获得原始文档,既要搜索的文档,如下.txt文档
lucene浅谈_第3张图片

(2)获得文档之后,创建文档对象,如下图:一个文档里面分了多个域,每个域由name和value组成,同一个Document可以有相同的Field(域名和域值都相同),每个文档都有一个唯一的编号,就是文档id。
lucene浅谈_第4张图片

(3)创建索引

对所有文档分析得出的语汇单元进行索引,索引的目的是为了搜索,最终要实现只搜索被索引的语汇单元从而找到Document(文档)。
lucene浅谈_第5张图片
根据上图我们可以清晰的看到,是根据索引找到的文档,这种索引的结构叫倒排索引结构。
lucene浅谈_第6张图片
倒排索引结构也叫反向索引结构,包括索引和文档两部分,索引即词汇表,它的规模较小,而文档集合较大。
倒排索引:通过关键词找文档,传统的是根据文档找关键词

(4)查寻索引

用户输入关键字,根据关键字找到索引,在根据索引找到对应的文档,从而找到搜索的内容(磁盘上的文件)。

你可能感兴趣的:(java)