三津石智巳

👦🏻👦🏻👧🏻 Father of 3 | 🗺️ Service Reliability Engineering Manager at Rakuten Travel | 📚 Avid Reader | 👍 Wagashi | 👍 Caffe Latte | 👍 Owarai

【感想】What is in a Lucene index? Adrien Grand, Software Engineer, Elasticsearch


indexing - Why does Lucene use arrays instead of hash tables for its inverted index? - Stack Overflowを読んでいて見つけた。

3. Storage and Retrieval - Designing Data-Intensive Applications [Book]からも参照されている。スライドは下記。

Lucene can use severe indexes in a single query

p. 14

これが意味するところは何かいまいち腑に落ちていない。DB検索で言うところの複合インデックス(a.k.a. multicolumn index)との関連はなにか。index merge intersectionとの関連はなにか。

複合インデックスの正しい列の順序

The Optimization That (Often) Isn't: Index Merge Intersection - Percona Database Performance Blog

Lucene's postings list support skipping that can be used to "leap-frog"

p. 16

 

ほかにもデータ構造とアルゴリズムのみならずcompressionについても言及がある。

いくつか次に学ぶべきポイント。

segmentのinsert/mergeはコストが低い

  • LSM-Tree的な

several indexを使える(index intersection)

  • leap-frog
  • skip listによる高速化