《SEO教程》第二章:搜索引擎工作原理

閱讀 ?·? 發布日期 2020-05-29 09:10 ?·? admin
搜索引擎的基本工作原理包括如下三個過程:首先在互聯網中發現、搜集網頁信息;同時對信息進行提取和組織建立索引庫;再由檢索器根據用戶輸入的查詢關鍵字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,并將查詢結果返回給用戶。
 
 
工作原理
搜索引擎為了以最快的速度得到搜索結果,它搜索的內容通常是預先整理好的網頁索引數據庫。普通搜索,不能真正理解網頁上的內容,它只能機械地匹配網頁上的文字。真正意義上的搜索引擎,通常指的是收集了互聯網上幾千萬到幾十億個網頁并對網頁中的每一個文字(即關鍵詞)進行索引,建立索引數據庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的算法進行排序后,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。典型的搜索引擎三大模塊組成:
(一)信息采集模塊
信息采集器是一個可以瀏覽網頁的程序,被形容為“網絡爬蟲”。它首先打開一個網頁,然后把該網頁的鏈接作為瀏覽的起始地址,把被鏈接的網頁獲取過來,抽取網頁中出現的鏈接,并通過一定算法決定下一步要訪問哪些鏈接。同時,信息采集器將已經訪問過的URL存儲到自己的網頁列表并打上已搜索的標記。自動標引程序檢查該網頁并為他創建一條索引記錄,然后將該記錄加入到整個查詢表中。信息收集器再以該網頁到超鏈接為起點繼續重復這一訪問過程直至結束。一般搜索引擎的采集器在搜索過程中只取鏈長比(超鏈接數目與文檔長度的比值)小于某一閾值的頁面,數據采集于內容頁面,不涉及目錄頁面。在采集文檔的同時記錄各文檔的地址信息、修改時間、文檔長度等狀態信息,用于站點資源的監視和資料庫的更新。在采集過程中還可以構造適當的啟發策略,指導采集器的搜索路徑和采集范圍,減少文檔采集的盲目性。
(二)查詢表模塊
查詢表模塊是一個全文索引數據庫,他通過分析網頁,排除HTML等語言的標記符號,將出現的所有字或詞抽取出來,并記錄每個字詞出現的網址及相應位置(比如是出現在網頁標題中,還是出現在簡介或正文中),最后將這些數據存入查詢表,成為直接提供給用戶搜索的數據庫。
(三)檢索模塊
檢索模塊是實現檢索功能的程序,其作用是將用戶輸入的檢索表達式拆分成具有檢索意義的字或詞,再訪問查詢表,通過一定的匹配算法獲得相應的檢索結果。返回的結果一般根據詞頻和網頁鏈接中反映的信息建立統計模型,按相關度由高到低的順序輸出。 [1] 
工作機制
搜索引擎的工作機制就是采用高效的蜘蛛程序,從指定URL開始順著網頁上的超鏈接,采用深度優先算法或廣度優先算法對整個Internet進行遍歷,將網頁信息抓取到本地數據庫。然后使用索引器對數據庫中的重要信息單元,如標題,關鍵字及摘要等或者全文進行索引,以供查詢導航。最后,檢索器將用戶通過瀏覽器提交的查詢請求與索引數據庫中的信息以某種檢索技術進行匹配,再將檢索結果按某種排序方法返回給用戶。
 
工作流程
(1)在互聯中發現、搜集網頁信息
搜索引擎首先負責數據采集,即按照一定的方式和要求對網絡上的WWW站點進行搜集,并把所獲得的信息
搜索引擎基本工作原理
搜索引擎基本工作原理
保存下來以備建立索引庫和用戶檢索。但是收集網頁只是搜索引擎的一部分工作,他們的其他服務器要做的還有進行計算/分配/儲存用戶習慣等等。
(2)對信息進行提取和組織建立索引庫
首先是數據分析與標引,搜索引擎對已經收集到的資料給與按照網頁中的字符特性予以分類,建立搜索原則,舉例來說,對于"軟件"這個詞,它必須建立一個索引,當用戶查找的時候,他知道到這里來調取資料。當然,對于網頁語言,該字符的處理(大小寫/中文的斷字方式等等)等方面,各個搜索引擎都有自己的存檔歸類方式,這些方式往往影響著未來搜索結果。接下來是數據組織,搜索引擎負責形成規范的索引數據庫或便于瀏覽的層次型分類目錄結構,也就是計算網頁等級,這個原則特別是在Google非常重要,一個接受很多鏈接的網頁,搜索引擎必然在所有的網頁當中將這些連接多的網頁提升上來。
(3)在索引數據庫中搜索排序
由檢索器根據用戶輸入的查詢關鍵字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,并將查詢結果返回給用戶。搜索引擎負責幫助用戶用一定的方式檢索索引數據庫,獲取符合用戶需要的WWW信息。搜索引擎還負責提取用戶相關信息,利用這些信息來提高檢索服務的質量,信息挖掘在個性化服務中起到關鍵作用。用戶檢索的過程是對前兩個過程的檢驗,檢驗該搜索引擎能否給出最準確、最廣泛的信息,檢驗該搜索引擎能否迅速地給出用戶最想得到的信息。
搜索引擎
在搜索引擎分類部分我們提到過全文搜索引擎從網站提取信息建立網頁數據庫的概念。搜索引擎的自動信息搜集功能分兩種。一種是定期搜索,即每隔一段時間(比如Google一般是28天),搜索引擎主動派出“蜘蛛”程序,對一定IP地址范圍內的互聯網站進行檢索,一旦發現新的網站,它會自動提取網站的信息和網址加入自己的數據庫。
另一種是提交網站搜索,即網站擁有者主動向搜索引擎提交網址,它在一定時間內(2天到數月不等)定向向你的網站派出“蜘蛛”程序,掃描你的網站并將有關信息存入數據庫,以備用戶查詢。由于搜索引擎索引規則發生了很大變化,主動提交網址并不保證你的網站能進入搜索引擎數據庫,因此目前最好的辦法是多獲得一些外部鏈接,讓搜索引擎有更多機會找到你并自動將你的網站收錄。
當用戶以關鍵詞查找信息時,搜索引擎會在數據庫中進行搜尋,如果找到與用戶要求內容相符的網站,便采用特殊的算法——通常根據網頁中關鍵詞的匹配程度,出現的位置、頻次,鏈接質量等——計算出各網頁的相關度及排名等級,然后根據關聯度高低,按順序將這些網頁鏈接返回給用戶。
性能指標
在通常情況下,我們可以從以下幾個方面來衡量一個搜索引擎的性能:
查全率指搜索引擎提供的檢索結果中相關文檔數與網絡中存在的相關文檔數之比,他是搜索引擎對網絡信息覆蓋率的真實反映。
查準率是搜索引擎提供的檢索結果與用戶信息需求的匹配程度,也是檢索結果中有效文檔數與搜索引擎提供的全部文檔數之比。
響應時間一般而言取決于2個因素,即與帶寬有關的網絡速度和搜索引擎本身的速度,只有在二者均獲得可靠的技術支持的情況下,才能保證理想的檢索速度。對搜索引擎來講,查全率和查準率很難做到兩全其美,影響搜索引擎的性能的主要是信息檢索模型,包括文檔和查詢的表示方法、評價文檔和用戶查詢相關性的匹配策略、查詢結果的排序方法和用戶進行相關度反饋的機制。