正排索引和倒排索引簡單介紹

2021-09-07 20:18:40 字數 1059 閱讀 4680

在搜尋引擎中,資料被爬取後,就會建立index,方便檢索。

在工作中經常會聽到有人問,你這個index是正排的還是倒排的?那麼什麼是正排呢?什麼又是倒排呢?下面是一些簡單的介紹。

網頁a中的內容片段:

tom is a boy.

tom is a student too.

網頁b中的內容片段:

jon works at school.

tom's teacher is jon.

正排索引:

假設網頁a的區域性文件id是 ta, 網頁b的區域性文件id是 tb。那麼對ta進行正排索引建立的表結構是下面這樣的:

不過與之相比的是,正排這種模式容易維護。由於是採用doc 作為key來儲存的,所以新增網頁的時候,只要在末尾新增乙個key,然後把詞、詞出現的頻率和位置資訊分析完成後就可以使用了。

所有正排的優點是:易維護;缺點是搜尋的耗時太長;

倒排索引:

由於正排的耗時太長缺點,倒排就正好相反,是以word作為關鍵索引。表中關鍵字所對應的記錄表項記錄了出現這個字或詞的所有文件,乙個表項就是乙個字表段,它記錄該文件的id和字元在該文件**現的位置情況。

倒排包含兩部分:

1、由不同的索引詞(index term)組成的索引表,稱為「詞典」(lexicon)。其中包含了各種詞彙,以及這些詞彙的統計資訊(如出現頻率ndocs),這些統計資訊可以直接用於各種排名演算法。

2、由每個索引詞出現過的文件集合,以及命中位置等資訊構成。也稱為「記錄表」。就是正排索引產生的那張表。當然這部分可以沒有。具體看自己的業務需求了。

下面是乙個簡單的倒排索引構建,只包含第一部分的。

倒排的優缺點和正排的優缺點整好相反。倒排在構建索引的時候較為耗時且維護成本較高,但是搜尋耗時短。

初步的介紹就先到這。更深入的研究可以自己搜尋一些資料。

參考:差分序列)

正排索引與倒排索引

什麼是正排索引 forward index 由key查詢實體的過程,是正排索引.什麼是倒排索引 inverted index 由item查詢key的過程,是倒排索引。倒排索引可以理解為map item,list id 能夠由查詢詞快速 時間複雜度o 1 找到包含這個查詢詞的檔案的資料結構。舉例 文件...

正排索引和倒排索引理解詳解

叮嘟!這裡是小啊嗚的學習課程資料整理。好記性不如爛筆頭,今天也是努力進步的一天。一起加油高階吧!文件 單詞1 單詞2 單詞1 出現的次數 單詞出現的位置 單詞2 單詞2出現的位置 正排索引 在搜尋欄輸入id查詞條 已知id 單詞1 文件1 文件2,文件3 單詞2 文件1,文件2 倒排索引 將搜尋框中...

搜尋引擎之正排與倒排索引

正排索引 正向索引 正排表是以文件的id為關鍵字,表中記錄文件中每個字的位置資訊,查詢時掃瞄表中每個文件中字的資訊直到找出所有包含查詢關鍵字的文件。正排表結構如圖1所示,這種組織方法在建立索引的時候結構比較簡單,建立比較方便且易於維護 因為索引是基於文件建立的,若是有新的文件加入,直接為該文件建立乙...