前面簡要介紹過了搜索引擎的索引系統,實際上在建立倒排索引的最后還需要有一個入庫寫庫的過程,而為了提高效率這個過程還需要將全部term以及偏移量保存在文件頭部,并且對數據進行壓縮,這涉及到的過于技術化在此就不多提了。今天簡要給大家介紹一下索引之后的檢索系統。
檢索系統主要包含了五個部分,如下圖所示:
(1)Query串切詞分詞即將用戶的查詢詞進行分詞,對之后的查詢做準備,以“10號線地鐵故障”為例,可能的分詞如下(同義詞問題暫時略過):
10 0x123abc
號 0x13445d
線 0x234d
地鐵 0x145cf
故障 0x354df
(2)查出含每個term的文檔集合,即找出待選集合,如下:
0x123abc 1 2 3 4 7 9…..
0x13445d 2 5 8 9 10 11……
……
……
(3)求交,上述求交,文檔2和文檔9可能是我們需要找的,整個求交過程實際上關系著整個系統的性能,這里面包含了使用緩存等等手段進行性能優化;
(4)各種過濾,舉例可能包含過濾掉死鏈、重復數據、色情、垃圾結果以及你懂的;
(5)最終排序,將最能滿足用戶需求的結果排序在最前,可能包括的有用信息如:網站的整體評價、網頁質量、內容質量、資源質量、匹配程度、分散度、時效性等等,之后會詳細給大家介紹。
轉載請保留原文地址: http://htdxkj.cn/show-542.html