正排索引也稱為“前向索引”。它是創建倒排索引的基礎,具有以下字段。
(1)Localld字段(表中簡稱“Lid”):表示一個文檔的局部編號。
(2)Wordld字段:表示文檔分詞后的編號,也可稱為“索引詞編號”。
(3)NHits字段:表示某個索引詞在文檔中出現的次數。
(4)HitList變長字段:表示某個索引詞在文檔中出現的位置,即相對于正文的偏移量。
由于一篇文章中的某些詞可能出現多次,而且位置不同,而全文檢索的本質要求是把這些位置標識出來,因此HitList中的每個命中都表示索引詞在文檔的某個位置中出現了一次,這個序列為單調遞增序列。基于游程編碼的方法,變升序序列為差分序列,采用前文提到的Variable Byte Coding方法編碼可以大大壓縮正排索引的HitList字段。
事實上,文檔編號在不同的計算過程里,分別稱為局部編號和全局編號,它們在編號長度上稍有不同,為了便于理解,不區別這些區別,認為Localld和Docld完全一致,都表示一個文檔的唯一編號。在正排索引中Localld采用升序序列編號(假定編號采用自增1的方式遞增),這為下面的計算創造條件。進行倒排索引的轉化時,由于正排索引中Lid天然的有序性,因此在正排索引轉化為倒排索引的創建過程中,自然可以保證倒排索引中每個詞匯對應的文檔編號也是有序的.
本質上說,正排索引以文檔編號為視角看待索引詞,也就是通過文檔編號去找索引詞。任給一個文檔編號,能夠知道它包含了哪些索引詞、這些索引詞分別出現的次數,以及索引詞出現的位置。然而全文索引是通過關鍵詞來檢索,而不是通過文檔編號來檢索,因此正排索引不能滿足全文檢索的要求。
雖然正排索引不能滿足全文檢索的需要,但是正排索引為創建倒排索引創造了有利條件,是計算倒排索引的不可缺少的一環。
評論(0人參與,0條評論)
發布評論
最新評論