Lucene包结构
1.Lucene提供了完整的查询引擎和索引引擎。
2.Lucene的jar包结构:
1)org.apache.lucene.analysis
对需要建立索引的文本进行分词、过滤等操作, 语言分析器,主要用于的切词Analyzer是一个抽象类,管理对文本内容的切分词规则。
2)org.apache.lucene.analysis.standard
是标准分析器
3)org.apache.lucene.document
提供对Document和Field的各种操作的支持。索引存储时的文档结构管理,类似于关系型数据库的表结构。Document相对于关系型数据库的记录对象,Field主要负责字段的管理。
4)org.apache.lucene.index
是最重要的包,用于向Lucene提供建立索引时各种操作的支持。索引管理,包括索引建立、删除等。索引包是整个系统核心,全文检索的根本就是为每个切出来的词建索引,查询时就只需要遍历索引,而不需要去正文中遍历,从而极大的提高检索效率。
5)org.apache.lucene.queryParser
提供检索时的分析支持。查询分析器,实现查询关键词间的运算,如与、或、非等。
6)org.apache.lucene.search
负责检索。检索管理,根据查询条件,检索得到结果。
7)org.apache.lucene.store
提供对索引存储的支持。数据存储管理,主要包括一些底层的I/0操作。
8)org.apache.lucene.util
提供一些常用工具类和常量类的支持
3.索引文件格式:
1).fnm文件: 包含了Document中所有field名称
2).fdt文件: 用于存储具有Store.YES属性的Field的数据;
3).fdx文件: 是一个索引,用于存储Document在.fdt中的位置。
4).tis文件: 用于存储分词后的词条(Term)
5).tii文件: 就是它的索引文件,它表明了每个.tis文件中的词条的位置。
6)deletable文件: 文档被删除后,会首先在deletable文件中留下一个记录,要真正删除时,才将索引除去。
7).cfs文件: 复合索引格式,使用IndexWriter的useCompoundFile() 默认为True
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。