搜尋引擎的一般原理-搜尋引擎技術
來源:互聯網
上載者:User
搜尋引擎並不真正搜尋互連網,它搜尋的實際上是預先整理好的網頁索引資料庫。
真正意義上的搜尋引擎,通常指的是收集了網際網路上幾千萬到幾十億個網頁並對網頁中的每一個詞(即關鍵詞)進行索引,建立索引資料庫的全文檢索搜尋引擎。當使用者尋找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜尋結果被搜出來。在經過複雜的演算法進行排序後,這些結果將按照與搜尋關鍵詞的相關度高低,依次排列。
現在的搜尋引擎已普遍使用超鏈分析技術,除了分析索引網頁本身的內容,還分析索引所有指向該網頁的連結的URL、AnchorText、甚至連結周圍的文字。所以,有時候,即使某個網頁A中並沒有某個詞比如"惡魔撒旦",但如果有別的網頁B用連結"惡魔撒旦"指向這個網頁A,那麼使用者搜尋"惡魔撒旦"時也能找到網頁A。而且,如果有越多網頁(C、D、E、F……)用名為"惡魔撒旦"的連結指向這個網頁A,或者給出這個連結的源網頁(B、C、D、E、F……)越優秀,那麼網頁A在使用者搜尋"惡魔撒旦"時也會被認為更相關,排序也會越靠前。
搜尋引擎的原理,可以看做三步:從互連網上抓取網頁→建立索引資料庫→在索引資料庫中搜尋排序。
從互連網上抓取網頁
利用能夠從互連網上自動收集網頁的Spider系統程式,自動訪問互連網,並沿著任何網頁中的所有URL爬到其它網頁,重複這過程,並把爬過的所有網頁收集回來。
建立索引資料庫
由分析索引系統程式對收集回來的網頁進行分析,提取相關網頁資訊(包括網頁所在URL、編碼類別型、頁面內容包含的關鍵詞、關鍵詞位置、產生時間、大小、與其它網頁的連結關係等),根據一定的相關度演算法進行大量複雜計算,得到每一個網頁針對頁面內容中及超鏈中每一個關鍵詞的相關度(或重要性),然後用這些相關資訊建立網頁索引資料庫。
在索引資料庫中搜尋排序
當使用者輸入關鍵詞搜尋後,由搜尋系統程式從網頁索引資料庫中找到符合該關鍵詞的所有相關網頁。因為所有相關網頁針對該關鍵詞的相關度早已算好,所以只需按照現成的相關度數值排序,相關度越高,排名越靠前。
最後,由頁面產生系統將搜尋結果的連結地址和頁面內容摘要等內容組織起來返回給使用者。
搜尋引擎的Spider一般要定期重新訪問所有網頁(各搜尋引擎的周期不同,可能是幾天、幾周或幾月,也可能對不同重要性的網頁有不同的更新頻率),更新網頁索引資料庫,以反映出網頁內容的更新情況,增加新的網頁資訊,去除死連結,並根據網頁內容和連結關係的變化重新排序。這樣,網頁的具體內容和變化情況就會反映到使用者查詢的結果中。