第六章 Lucene原理与应用 - smqk/lucene-example GitHub Wiki

  • Lucene 源码分为核心包和外围包。核心包实现搜索功能,外围包实现高亮显示等辅助功能。Lucene源码的核心包中共包括7个子包,每个包完成特定的功能。

  • 最基本的是索引管理包(org.apache.lucene.index)和检索管理包(org.apache.lucene.search);索引管理包实现索引建立、删除等。检索管理包根据查询条件检索得到结果。

  • 索引管理包调用数据存储管理包(org.apache.lucene.store),主要包括一些底层的 I/O操纵,同时也会调用一些公用的算法类(org.apache.lucene.util)。编码管理包(org.apache.lucene.codecs)用于方便自定义索引的编码和结构。文档结构包(org.apache.lucene.document)用于描述索引存储时的文档结构管理,类似于关系型数据库的表结构。

  • 查询分析包(org.apache.lucene.queryParser)实现查询语法,支持关键词间的运算,如与、或、非、等。语言分析器(org.apache.lucene.analysis)主要用于对放入索引的文档和查询词切词,支持中文主要是扩展此类。

  • 往Lucene中放的是文档,查询的是词,查询返回的也是文档。