Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。
Lucene与应用程序的关系如下图所示:
在对Lucene4.10的使用进行说明前,需要先了解以下几个概念。
名称 |
释义 |
Document |
用来对需要进行索引的稳定进行描述,这里的文档可以来自于HTML、database、PDF、office(word/excel/ppt)、文本等 |
Field |
用来对document进行描述,表示document的一个域,可以理解为对象的一个属性 |
Analyzer |
对于需要进行索引的document来说,需要按照一定的规则将内容进行切分,这样才能被索引。Analyzer的作用就是用来切词 |
IndexWriter |
它是document和索引之间的桥梁,用来将document加载到索引中 |
Directory |
用来描述索引的存放位置 |
Query |
它可以将需要查询的内容封装成索引可以理解的内容 |
IndexSearch |
用来依据Query在索引中检索符合条件的内容 |