? 百度搜索引擎工作原理 (2) - 非凡娱乐網站優化

非凡娱乐SEO專業的網站優化公司

百度搜索引擎工作原理 (2)

瀏覽:/ 2018-01-29

搜索引擎索引系统概述

众所周知,搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程。上一章我们主要介绍了部分抓取存储环节中的内容,此章简要介绍一下索引系统。

在以亿为单位的网页库中查找特定的某些关键词犹如大海里面捞针,也许一定的时间内可以完成查找,但是用户等不起,从用户体验角度我们必须在毫秒级别给予用户满意的结果,否则用户只能流失。怎样才能达到这种要求呢?


如果能知道用户查找的关键词(query切词后)都出现在哪些页面中,那么用户检索的处理过程即可以想象为包含了query中切词后不同部分的页面集合求交的过程,而检索即变成了页面名称之间的比较、求交。这样,在毫秒内以亿为单位的检索成为了可能。这就是通常所说的倒排索引及求交检索的过程。如下为建立倒排索引的基本过程:


        1,頁面分析的過程實際上是將原始頁面的不同部分進行識別并標記,例如:title、keywords、content、link、anchor、評論、其他非重要區域等等;
        2,分詞的過程實際上包括了切詞分詞同義詞轉換同義詞替換等等,以對某頁面title分詞為例,得到的將是這樣的數據:term文本、termid、詞類、詞性等等;
        3,之前的準備工作完成后,接下來即是建立倒排索引,形成{termàdoc},下圖即是索引系統中的倒排索引過程。


        倒排索引是搜索引擎實現毫秒級檢索非常重要的一個環節,下面我們要重要介紹一下索引系統建立倒排索引的重要過程――入庫寫庫。

 

 

倒排索引的重要過程――入庫寫庫

索引系統在建立倒排索引的最后還需要有一個入庫寫庫的過程,而為了提高效率這個過程還需要將全部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)最終排序,將最能滿足用戶需求的結果排序在最前,可能包括的有用信息如:網站的整體評價、網頁質量、內容質量、資源質量、匹配程度、分散度、時效性等等

 

 

影響搜索結果排序的因素

上面的內容好象有些深奧,因為涉及大量技術細節,我們只能說到這兒了。那下面我們說說大家最感興趣的排序問題吧。用戶輸入關鍵詞進行檢索,百度搜索引擎在排序環節要做兩方面的事情,第一是把相關的網頁從索引庫中提取出來,第二是把提取出來的網頁按照不同維度的得分進行綜合排序。“不同維度”包括:
        1,相關性:網頁內容與用戶檢索需求的匹配程度,比如網頁包含的用戶檢查關鍵詞的個數,以及這些關鍵詞出現的位置;外部網頁指向該頁面所用的錨文本等

閱讀"百度搜索引擎工作原理 (2)"的人還閱讀

上一篇:百度搜索引擎工作原理 (1)

下一篇:百度搜索引擎工作原理(3)