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