1. 程式人生 > >.NET面試題系列(十三)Lucene底層原理

.NET面試題系列(十三)Lucene底層原理

ash com 缺點 索引原理 ima 一個 其他 索引 bsp

索引原理

  全文檢索技術由來已久,絕大多數都基於倒排索引來做,曾經也有過一些其他方案如文件指紋。倒排索引,顧名思義,它相反於一篇文章包含了哪些詞,它從詞出發,記載了這個詞在哪些文檔中出現過,由兩部分組成——詞典和倒排表。

技術分享圖片

  其中詞典結構尤為重要,有很多種詞典結構,各有各的優缺點,最簡單如排序數組,通過二分查找來檢索數據,更快的有哈希表,磁盤查找有B樹、B+樹,但一個能支持TB級數據的倒排索引結構需要在時間和空間上有個平衡,下圖列了一些常見詞典的優缺點:

技術分享圖片

FST
  Lucene現在使用的索引結構

技術分享圖片

.NET面試題系列(十三)Lucene底層原理