1. 程式人生 > >搜索引擎基礎概念(3)—— 倒排列表

搜索引擎基礎概念(3)—— 倒排列表

相關 整數 原因 tro tex 進行 大於 http 1-1

  倒排列表

    倒排列表用來記錄有哪些文檔包含了某個單詞。一般在文檔集合裏會有很多文檔包含某個單詞,每個文檔 會記錄文檔編號(DocID),單詞在這個文檔中出現的次數(TF)及單詞在文檔中哪些位置出現過等信息,這樣與一個文檔相關的信息被稱做倒排索引項(Posting),包含這個單詞的一 系列倒排索引項形成了列表結構,這就是某個單詞對應的倒排列表。圖 1-1 是倒排列表的示意圖,在文檔集合中出現過的所有單詞及其對應的倒排列表組成了倒排索引。

技術分享圖片

圖1-1 倒排列表示意圖

    在實際的搜索引擎系統中,並不存儲倒排索引項中的實際文檔編號,而是代之以文檔編號差 值(D-Gap)。文檔編號差值是倒排列表中相鄰的兩個倒排索引項文檔編號的差值,一般在索引構建過程中,可以保證倒排列表中後面出現的文檔編號大於之前出現的文檔編號,所以文檔編號差值總是大於 0 的整數。如圖 1-10 所示的例子中,原始的 3 個文檔編號分別是 187、196 和 199,通過編號差值計算,在實際存儲的時候就轉化成了:187、9、3。

技術分享圖片

圖1-2 文檔編號差值示例

    之所以要對文檔編號進行差值計算,主要原因是為了更好地對數據進行壓縮,原始文檔編號一般都是大數值,通過差值計算,就有效地將大數值轉換為了小數值,而這有助於增加數據的壓縮率。

搜索引擎基礎概念(3)—— 倒排列表