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