網頁是基于互聯網的一個最基本的單位,搜索引擎圍繞一個網頁展開的工作大致需要經歷如下四個環節(包括但不限):
(1)下載系統:搜索引擎下載頁面
(2)分析系統:搜索引擎對頁面進行分析
(3)索引系統:搜索引擎根據分析結果決定是否予以收錄、索引
(4)查詢系統:搜索引擎將頁面加入緩存,進行查詢
為何搜索引擎要按照這種方式展開工作?搜索引擎的使命是什么?
(1)搜索引擎為何要將頁面下載回去?
難以想象,搜索引擎不把頁面下載回去,加入搜索引擎的頁面庫,搜索引擎將如何對頁面進行分析。難道讓搜索引擎根據需求才對頁面進行實時下載、分析,然后直接進行展現?哦不……那樣效率會非常之低,在用戶搜索一個關鍵詞進行檢索時,搜索引擎需要花費大量的時間才能分析完畢,給用戶返回結果,不怕用戶等得不耐煩跑掉?
實際上,搜索引擎需要在非常短暫的時間內,對用戶的搜索請求返回結果,因此就需要事先在搜索引擎中建立一個數據庫,然后把常用的信息放入高速緩存之中,這樣就可以保證在極短的時間內,對用戶的請求進行響應了。
關于緩存,大家可以自行百度一下,我舉個不是太好的例子,就像電腦的機械硬盤和固態硬盤相對于內存的速度(有明顯質的或者幾何級別的區別)
不僅如此,搜索引擎所擔負的使命主要還有兩點,一是抓取更多頁面,而是根據分析系統和查詢系統的情況,根據重要程度去跟蹤觀察一些頁面。
搜索引擎需要盡可能地遍歷并下載互聯網上存在的所有頁面,只有這樣才能為用戶提供更多的參考信息。我來舉個例子:許多人都在談論,谷歌在學術界的搜索體驗要明顯高于其他搜索引擎,其實也可以說是谷歌在世界范圍中抓取的學術界的頁面的數量和質量都要比其他搜索引擎要多要好。
對于越重要的頁面,更新越頻繁的頁面,展現多的頁面,需要分配更多資源對其進行跟蹤,以確保目標頁面處于一種正常狀態(當目標頁面處于非正常狀態時,可以及時反應過來,進行相應處理)。
(2)為什么頁面被下載回去還要進行分析?
因為互聯網上的頁面,絕大部分都并不會是優質的頁面(一方面是沒有搜索價值或者用戶搜索需求的頁面,比如我的流水賬一樣的日記,比如一些隱私信息等;另一方面是針對搜索引擎制造的粗制濫造、抄襲的垃圾頁面,就是我們熟知的黑帽作弊頁面;還有一些是已經不存在的頁面,比如一些頁面曾經可訪,現在由于一些原因不可訪問,比如一些國外倒閉公司的網站,或者因為不同原因刪除的頁面……
搜索引擎為了對魚龍混雜的互聯網上存在的大量頁面進行甄選,所以必然需要對這些頁面進行選拔,對優質頁面進行優先展現,將劣質頁面過濾掉不予展現。
(3)為何需要索引機制?
用戶從搜索引擎中進行搜索時,一般只會對很少的一部分頁面進行訪問即可解決需求,因此并不需要對大量的網頁進行展現。因此,為了加快查詢響應速度,只對根據分析系統得到的一批優質頁面進行展現,是一個不錯的主意。
而且,這個階段有一個特性,會把頁面和關鍵詞進行聯系。這為搜索引擎在遇到用戶的不同搜索詞對不同頁面進行展現提供了解決方案。
就如同一個頁面不會霸占所有的關鍵詞,一個關鍵詞的結果展現中對于不同的頁面也有不同的排序。
(4)查詢系統是什么好吃嗎?
查詢系統是搜索引擎與用戶最接近的一個環節,用戶想從搜索引擎得到的信息都是直接通過查詢系統進行展現的。
普通的用戶不會在意他得到的信息來自于哪里,而是對他是否有幫助。所以搜索引擎必須致力于解決這個環節上可能出現的問題與矛盾。搜索引擎會根據這個環節中用戶的各種行為,來對搜索結果排序進行調整、干預。我舉個例子,比如大部分用戶通過某個關鍵詞進入排序在前面的某個頁面,但是在該站點的另外一個頁面上進行了跳出或者轉化,那么搜索引擎可能就會認為,最終的頁面才更適合展現給用戶,如果用戶瀏覽的具有價值的頁面沒有被抓取、收錄、索引的話,搜索引擎可能會對目標頁面進行這樣的工作,對最終的展現進行跳轉。另一個例子,如果有大量用戶對排在前面的頁面的跳出率過高,搜索引擎可能會認為這個頁面展示的效果不好,從而把本來排在前面的頁面移到后面去。