眾所周知,搜索引擎的主要工作過(guò)程包括:抓取、存儲(chǔ)、頁(yè)面分析、索引、檢索等幾個(gè)主要過(guò)程。過(guò)去幾周給大家介紹了抓取相關(guān)的簡(jiǎn)要過(guò)程。今天簡(jiǎn)要介紹一下索引系統(tǒng),以億為單位的網(wǎng)頁(yè)庫(kù)中查找特定的某些關(guān)鍵詞猶如大海里面撈針,也許一定的時(shí)間內(nèi)可以完成查找,但是用戶等不起,從用戶體驗(yàn)角度我們必須在毫秒級(jí)別給予用戶滿意的結(jié)果,否則用戶只能流失。怎樣才能達(dá)到這種要求呢?
如果能知道用戶查找的關(guān)鍵詞(query切詞后)都出現(xiàn)在哪些頁(yè)面中,那么用戶檢索的處理過(guò)程即可以想象為包含了query中切詞后不同部分的頁(yè)面集合求交的過(guò)程,而檢索即變成了頁(yè)面名稱之間的比較、求交。這樣,在毫秒內(nèi)以億為單位的檢索成為了可能。這就是通常所說(shuō)的倒排索引及求交檢索的過(guò)程。如下為建立倒排索引的基本過(guò)程:
(1)頁(yè)面分析的過(guò)程實(shí)際上是將原始頁(yè)面的不同部分進(jìn)行識(shí)別并標(biāo)記,例如:title、keywords、content、link、anchor、評(píng)論、其他非重要區(qū)域等等;
(2)分詞的過(guò)程實(shí)際上包括了切詞分詞同義詞轉(zhuǎn)換同義詞替換等等,以對(duì)某頁(yè)面title分詞為例,得到的將是這樣的數(shù)據(jù):term文本、termid、詞類、詞性等等;
(3)之前的準(zhǔn)備工作完成后,接下來(lái)即是建立倒排索引,形成{termàdoc},可以粗略的理解為如下,為什么是【term->doc】,而不是直接應(yīng)用【doc->term】呢?
上述即是索引系統(tǒng)中的倒排索引過(guò)程,是搜索引擎實(shí)現(xiàn)毫秒級(jí)檢索非常重要的一個(gè)環(huán)節(jié)。
轉(zhuǎn)載請(qǐng)保留原文地址: http://jeyalandpromoters.com/show-541.html