lucene索引搜索
什么是Lucene?
Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库。 它是一项适用于几乎所有需要全文本搜索的应用程序的技术,尤其是跨平台。
Lucene可以纯文本,整数,索引PDF,Office文档。 等等。,
Lucene如何启用“更快的搜索”?
Lucence创建了一个称为倒排索引的东西。 通常我们在文档中映射文档->术语。 但是,Lucene则相反。 创建索引词->包含该词的文档列表,这使搜索速度更快。
安装Lucene
Maven依赖
<pre class='brush:xml'><dependency>
<groupid>org.apache.lucene</groupid>
<artifactid>lucene-core</artifactid>
<version>3.0.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
下载依赖
从http://lucene.apache.org/下载Lucene,并将lucene-core.jar添加到类路径中
Lucene如何工作?
首先让我们从底部开始了解图片-中心。 原始文本用于创建Lucene“文档”,使用指定的分析器对其进行分析,然后根据字段的Store,TermVector和Analzed属性将文档添加到索引中。
接下来,从上到下搜索。 用户以文本格式指定查询。 查询对象是基于查询文本构建的,执行查询的结果作为TopDocs返回。
核心Lucene类别
目录,FSDirectory,RAMDirectory | 包含索引的目录 基于文件系统的索引目录 基于内存的索引目录 |
目录 indexDirectory = FSDirectory.open(新文件('c:// lucene // nodes')); |
索引作家 | 处理写入索引– addDocument,updateDocument,deleteDocuments,merge等 | IndexWriter writer =新的IndexWriter(indexDirectory |