1、概念
- 全文检索
全文检索的基本思路:将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。
这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。
这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。
- lucene 实现全文索引
原始数据-->创建lucene文档对象Document-->分析文档(涉及到分词)-->创建索引
- Document
获取原始数据后创建lucene里文档对象Document。可以将一个文件看成一个Document。Document包含很多Filed(域),Filed存储内容。比如Filed(fileName,"lucene入门"),Filed(fileContent,"lucene is amazing")。每个文档都有一个唯一的编号,就是文档id。
- 分析文档
分析的过程就是对Filed中的内容进行分词处理啦。比如提取单词、将字母转为小写、去除标点符号、去除停用词。每个词都叫一个Term,比如对Filed(fileContent,"lucene is amazing")分词后会声称Term("fileContent","lucene"),Term("fileContent","is"),
Term("fileContent","amazing")。Term由域和词汇组成。在哪个域下有那些词汇。fileContent是域 。
- 创建索引
将词汇Term创建为索引。搜索目的就是搜索被索引的词汇找到Document,通过词语找文档,这种索引的结构叫倒排索引结构