什么是倒排索引?倒排的概念是什么?

3053次閱讀

倒排索引源于實(shí)際應(yīng)用中需要根據(jù)屬性的值來(lái)查找記錄。這種索引表中的每一項(xiàng)都包括一個(gè)屬性值和具有該屬性值的各記錄的地址。由于不是由記錄來(lái)確定屬性值,而是由屬性值來(lái)確定記錄的位置,因而稱(chēng)為倒排索引(inverted index)。帶有倒排索引的文件我們稱(chēng)為倒排索引文件,簡(jiǎn)稱(chēng)倒排文件(inverted file)。


倒排列表概念

倒排列表用來(lái)記錄有哪些文檔包含了某個(gè)單詞。一般在文檔集合里會(huì)有很多文檔包含某個(gè)單詞,每個(gè)文檔會(huì)記錄文檔編號(hào)(DocID),單詞在這個(gè)文檔中出現(xiàn)的次數(shù)(TF)及單詞在文檔中哪些位置出現(xiàn)過(guò)等信息,這樣與一個(gè)文檔相關(guān)的信息被稱(chēng)做倒排索引項(xiàng)(Posting),包含這個(gè)單詞的一系列倒排索引項(xiàng)形成了列表結(jié)構(gòu),這就是某個(gè)單詞對(duì)應(yīng)的倒排列表。右圖是倒排列表的示意圖,在文檔集合中出現(xiàn)過(guò)的所有單詞及其對(duì)應(yīng)的倒排列表組成了倒排索引。

在實(shí)際的搜索引擎系統(tǒng)中,并不存儲(chǔ)倒排索引項(xiàng)中的實(shí)際文檔編號(hào),而是代之以文檔編號(hào)差值(D-Gap)。文檔編號(hào)差值是倒排列表中相鄰的兩個(gè)倒排索引項(xiàng)文檔編號(hào)的差值,一般在索引構(gòu)建過(guò)程中,可以保證倒排列表中后面出現(xiàn)的文檔編號(hào)大于之前出現(xiàn)的文檔編號(hào),所以文檔編號(hào)差值總是大于0的整數(shù)。如圖2所示的例子中,原始的 3個(gè)文檔編號(hào)分別是187、196和199,通過(guò)編號(hào)差值計(jì)算,在實(shí)際存儲(chǔ)的時(shí)候就轉(zhuǎn)化成了:187、9、3。


之所以要對(duì)文檔編號(hào)進(jìn)行差值計(jì)算,主要原因是為了更好地對(duì)數(shù)據(jù)進(jìn)行壓縮,原始文檔編號(hào)一般都是大數(shù)值,通過(guò)差值計(jì)算,就有效地將大數(shù)值轉(zhuǎn)換為了小數(shù)值,而這有助于增加數(shù)據(jù)的壓縮率。

倒排索引概念

倒排索引(英語(yǔ):Inverted index),也常被稱(chēng)為反向索引、置入檔案或反向檔案,是一種索引方法,被用來(lái)存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。它是文檔檢索系統(tǒng)中最常用的數(shù)據(jù)結(jié)構(gòu)。通過(guò)倒排索引,可以根據(jù)單詞快速獲取包含這個(gè)單詞的文檔列表。倒排索引主要由兩個(gè)部分組成:“單詞詞典”和“倒排文件”。
  
倒排索引倒排索引
倒排索引有兩種不同的反向索引形式:
  一條記錄的水平反向索引(或者反向檔案索引)包含每個(gè)引用單詞的文檔的列表。
  一個(gè)單詞的水平反向索引(或者完全反向索引)又包含每個(gè)單詞在一個(gè)文檔中的位置。
  后者的形式提供了更多的兼容性(比如短語(yǔ)搜索),但是需要更多的時(shí)間和空間來(lái)創(chuàng)建。
  現(xiàn)代搜索引擎的索引都是基于倒排索引。相比“簽名文件”、“后綴樹(shù)”等索引結(jié)構(gòu),“倒排索引”是實(shí)現(xiàn)單詞到文檔映射關(guān)系的最佳實(shí)現(xiàn)方式和最有效的索引結(jié)構(gòu)。





本文由夫唯SEO特訓(xùn)營(yíng)編輯整理。

搜外專(zhuān)注SEO培訓(xùn)和SEO周邊Saas服務(wù)解決方案,10年來(lái)超過(guò)五萬(wàn)學(xué)員在此獲得技術(shù)提升和人脈圈子。

SEO課程包含移動(dòng)搜索、零基礎(chǔ)建站、群站SEO思維、搜外6系統(tǒng)、SEM入門(mén)等。

192期A班報(bào)名時(shí)間7月1日-7月15日,請(qǐng)?zhí)砑诱猩头∧⑿牛簊eowhy2021。 微信掃碼添加客服人員

我們的目標(biāo)是:讓非技術(shù)人員輕松學(xué)會(huì)互聯(lián)網(wǎng)技術(shù)。

  • 搜外會(huì)員SEO交流群(免費(fèi))

    微信掃碼添加客服人員
  • 小程序運(yùn)營(yíng)交流群(免費(fèi))

    微信掃碼添加客服人員
  • 搜外會(huì)員SEM競(jìng)價(jià)交流群(免費(fèi))

    微信掃碼添加客服人員
  • 夫唯學(xué)員SEO交流群(VIP)

    微信掃碼添加客服人員

掃碼獲取資源

微信掃碼添加客服人員
  • SEO技術(shù)實(shí)戰(zhàn)微信群

    微信掃碼添加客服人員
  • 大站流量總監(jiān)群(審核身份)

    微信掃碼添加客服人員
  • Google獨(dú)立站英文SEO群

    微信掃碼添加客服人員
  • SEO團(tuán)隊(duì)KPI管理表格

    微信掃碼添加客服人員
  • 工業(yè)品網(wǎng)站友情鏈接群

    微信掃碼添加客服人員
  • 本地生活服務(wù)業(yè)友鏈群

    微信掃碼添加客服人員

跟夫唯老師系統(tǒng)學(xué)習(xí)群站SEO
成為互聯(lián)網(wǎng)運(yùn)營(yíng)推廣大咖

掌握SEO技巧、建站前端、群站霸屏、SEM入門(mén)、新聞源推廣……
Processed in 0.176977 Second , 64 querys.