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