搜尋引擎是如何工作的(1)
當我們在搜尋引擎上鍵入片語進行搜尋時可能並沒有想過,它是如何把我們想要的資料在那麼短的時間內找出來。事實上幾乎所有的搜尋引擎都會有下列的功能以保證它能夠又好又快的為我們提供資料。
1,爬行整個Web(crawling Web)
搜尋引擎自動啟動並執行程式通過Web的超級連結(Hyperlink)結構爬行整個Web上的所有網頁文檔。這種程式通常被稱做嗅控程式(bots)或爬行程式(spider)。
2,收錄文檔(index document)
當程式爬每行過一個網頁文檔時,文檔的內容可能被搜尋引擎收錄(或稱索引,index),儲存在一個巨大的資料庫中,從而組成搜尋引擎的索引。當然了這些索引必須組織的非常好(到於如何?我就不知道了,呵呵),這樣當我們在搜尋引擎進行搜尋時,搜尋引擎能夠快速的眾索引中找出我們要的資訊。所以,如果你認為你在搜尋引擎那邊搜尋時,搜尋引擎才對整個巨大的Web進行搜尋是不可能的。
3,處理查詢(processing queries)
當搜尋引擎收到一個搜尋請求(一天可能有上億個這樣的請求),搜尋引擎會檢索它構建起來的索引來尋找匹配查詢的文檔。它是以文檔中是否出現以使用者指定的形式出現的詞語或短語。比如我們搜尋car and driver magazine和“car and driver magazine”,前者在google會返回很多的結果,而後者只有幾萬個。因為前一個搜尋通常被認為是尋找所有的模式,google會返回所有內容中包含有car,driver,magazine的文檔,而後者則指定了要以car and driver magazine這個片語的形式出現的文檔才會被返回。事實上google有一個操作符列表 ,這些操作符可以用來幫我們更精確的尋找資料,過濾掉一些結果。
4,對查詢結果分級(Ranking Result)
一旦搜尋引擎決定返回哪些結果作為匹配查詢的結果時,搜尋引擎會對所有準備返回的結果應用演算法進行計算以決定各個結果是與使用者的查詢內容的匹配程度(或精確度吧),然後排序,當然是把最接近的結果放在前面這樣使用者就不要自己選了。