1.倒排索引.md

Lucene的倒排索引存储

词项的字符串+词项的文档频率+记录词项的频率信息+记录词项的位置信息+跳跃偏移量。简单的理解可以形成以下结构:

分别表示词,词出现的文档编号,文档中出现的频率和文档中出现的位置。这样当我们对词进行搜索时,会找到该词出现过的所有文档的ID,然后再通过该文档的ID寻找文档的具体内容。

Lucene底层原理


2.索引数据结构.md

lucene倒排索引--fst和SkipList的结合

  1. 使用FST保存词典,FST可以实现快速的Seek,这种结构在当查询可以表达成自动机时(PrefixQuery、FuzzyQuery、RegexpQuery等)效率很高。(可以理解成自动机取交集)
    此种场景主要用在对Query进行rewrite的时候。
  2. FST可以表达出Term倒排表所在的文件偏移。
  3. 倒排表使用SkipList结构。从上面的讨论可知,求倒排表的交集、并集、差集需要各种SeekTo(docId),SkipList能对Seek进行加速。

lucene文件存储
lucene字典实现原理
lucene倒排索引--fst和SkipList的结合


3.建立索引.md

Lucene整理--索引的建立


Copyright © 2018 INSTALL.REN