Elasticsearch 倒排索引原理

2021-10-24 19:44:20 字數 609 閱讀 5721

elasticsearch 最強悍的功能之一就是全文檢索,如何可以做到呢,其實本質上的原理就需要用的倒排索引了,本文將探索一下倒排索引的工作原理。

正排索引 (forward index)

根據 id 去找到對應的文件

倒排索引 (inverted index)

根據 內容 去找到對應的文件

工作原理

通過標記位匹配,找到相關度最高的詞進行評分後輸出

同樣的場景下對文字進行搜尋,正排索引的時間複雜度為o(n),意思就是有多少條資料就得掃瞄多少次,但倒排索引的時間複雜度為只需要o(1),意思就是掃瞄一次就找到文件在**。

倒排索引由文件中所有不重複詞的列表構成,其中標誌列收錄了每個詞在哪乙個位置上出現過。

Elasticsearch 倒排索引

elasticsearch 使用一種稱為倒排索引的結構,它適用於快速的全文搜尋。乙個倒排索引由文件中所有不重複詞的列表構成,對於其中每個詞,有乙個包含它的文件列表。假設我們有兩個文件,每個文件的 content 域包含如下內容 the quick brown fox jumped over the ...

Elasticsearch( )倒排索引

elasticsearch 使用一種叫做 倒排索引 inverted index 的結構來做快速的全文搜尋。倒排索引由在文件 現的唯一的單詞列表,以及對於每個單詞在文件中的位置組成。例如,我們有兩個文件,每個文件content字段包含 the quick brown fox jumped over ...

elasticsearch 倒排索引原理

elasticsearch 使用一種稱為 倒排索引 的結構,它適用於快速的全文搜尋。乙個倒排索引由文件中所有不重複詞的列表構成,對於其中每個詞,有乙個包含它的文件列表。例如,假設我們有兩個文件,每個文件的content域包含如下內容 the quick brown fox jumped over t...