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...