接下來我們分層講解:
1.www:www指的就是互聯網所有的網頁,全球有多少個網站?2006年統計是為8065萬個網站,在網絡迅速發展的這幾年來,直到今天來也得好幾億了吧,而搜索引擎的任務就是把這些網站搜集並且賦予排名給供用戶搜索。
2.搜集器:搜集器又是大家俗稱為蜘蛛,蜘蛛負責抓取互聯網上的網站,蜘蛛有兩種抓取方式,一種是深度優先,一種是廣度優先。我的網站為例,深度優先是指以蜘蛛看到網頁的第一的鏈接開始順序如下圖,知道把第一個鏈接下面所有的鏈接全部抓取才開始抓第二個鏈接,廣度優先是指把第一個頁面的所有的鏈接全部抓取完畢,開始抓取第二個頁面。
3.控制器:蜘蛛把網頁下載下來後傳入控制器。控制器負責把這些網頁進行簡單的分析例如消重等等,控制器還負責調遣蜘蛛,安排他們的抓取時間,抓取方式與抓取對象等等。控制器把所有的url提取出來,分為兩種,一個是以抓取url和未抓取url。把所有的url的頁面抓取過來後存入原始數據庫。
4.原始數據庫:用來存儲蜘蛛抓取下來的最原始的沒有任何排名的網頁.
5.網頁分析模塊:網頁分析模塊可以說是最重要的一塊。這一部分主要是對垃圾網頁的過濾,例如消重,欺詐,違法等一些網站,特別是最近的百度算法大更新後,更新的也就是這一塊的算法,主要對采集偽原創和垃圾外鏈給予打擊,以及對每個網頁的價值和外鏈一些復雜的算法進行評分也就是我們所說的權重,有了這個權重之後為以後的排序做好了准備。
6.索引器:索引器將網頁分析模塊傳遞的有價值的網頁分為正排索引與倒排索引。正排索引也就是把每個網頁都進行分詞,分成很多關鍵字。倒排索引反過來把每一個關鍵詞列出很多網頁並將它們排序。
7.索引器數據庫:索引數據庫用來存放索引器以關鍵詞列出的網頁。
8.檢索器:將用戶所輸入的詞進行分詞,並從索引數據庫中取出網頁,並且進行排序,最後返回給用戶結果。
9.用戶:顧名思義就是網民。
10.用戶接口:可以理解為百度搜索結果頁面。
11.用戶行為日志數據庫:用戶行為日志數據庫用來存放用戶的行為,包括用戶點擊了第幾位,在某一位網站上停留了多少時間,點擊第二個網站的間隔,搜索關鍵詞都是什麼等等
12.日志分析器:這一塊個人認為很重要,搜索引擎越來越注重用戶體驗,是未來搜索引擎的發展趨勢所在,這一塊把用戶行為日志數據庫裡面的用戶行為進行了細致的分析,對它們的行為對互聯網裡眾多網站進行權重以及排序上進行加減。