日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

倒排索引的了解

發布時間:2024/4/11 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 倒排索引的了解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

倒排索引(英語:Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來存儲在全文搜索下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。它是文檔檢索系統中最常用的數據結構。通過倒排索引,可以根據單詞快速獲取包含這個單詞的文檔列表。倒排索引主要由兩個部分組成:“單詞詞典”和“倒排文件”。

倒排索引是實現單詞到文檔映射關系的最佳實現方式和最有效的索引結構.


.1 簡單索引構建

?

?????? 索引的構建相當于從正排表到倒排表的建立過程。當我們分析完網頁時 ,得到的是以網頁為主碼的索引表。當索引建立完成后 ,應得到倒排表 ,具體流程如圖3所示:

流程:

1)將文檔分析稱單詞term標記,
2)使用hash去重單詞term
3)對單詞生成倒排列表
倒排列表就是文檔編號DocID,沒有包含其他的信息(如詞頻,單詞位置等),這就是簡單的索引。
這個簡單索引功能可以用于小數據,例如索引幾千個文檔。然而它有兩點限制:
1)需要有足夠的內存來存儲倒排表,對于搜索引擎來說, 都是G級別數據,特別是當規模不斷擴大時 ,我們根本不可能提供這么多的內存。
2)算法是順序執行,不便于并行處理。

4.3 合并法建立索引
????? 歸并法,即每次將內存中數據寫入磁盤時,包括詞典在內的所有中間結果信息都被寫入磁盤,這樣內存所有內容都可以被清空,后續建立索引可以使用全部的定額內存。

????? 如圖4 歸并示意圖:

?

??????

??????????????????????????????????????????????????? 圖4:歸并索引

合并流程如圖5:

1)頁面分析,生成臨時倒排數據索引A,B,當臨時倒排數據索引A,B占滿內存后,將內存索引A,B寫入臨時文件生成臨時倒排文件,
2)? 對生成的多個臨時倒排文件 ,執行多路歸并 ,輸出得到最終的倒排文件 ( inverted file)。

??????????

????????????????????????????

?????????????????????????????????????????????????????????????????????????? 圖5 合并流程

索引創建過程中的頁面分析 ,特別是中文分詞為主要時間開銷。算法的第二步相對很快。這樣創建算法的優化集中在中文分詞效率上。

4.2 并行與分布式建立索引

???? 在?搜索引擎-網絡爬蟲, 已經提到云存儲文檔,使用Map/Reduce并行計算模型,對文檔生成倒排索引列:

???? 對于建立倒排索引這個任務來說,如圖6所示,輸入數據也是網頁,以網頁的DOCID作為輸入數據 的Key, 網頁中出現的單詞集合是輸入數據的 Value; Map 操作將輸入數據轉化為 (word,DOCID)的形式,即某個單詞作為Key, DOCID作為中間數據的value,其含義是單詞 word在DOCID這個網頁出現過;Reduce操作將中間數據中相同Key的記錄融合,得到某 個單詞對應的網頁ID列表: <word,List(DodD:pos)>。這就是單詞word對應的倒排列表。通過 這種方式就可以建立簡單的倒排索引,在Reduce階段也可以做些復雜操作,獲得形式更為復雜的倒排索引。

???????

???????????????????????????????圖6

?

?



?

總結

以上是生活随笔為你收集整理的倒排索引的了解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。