搜尋引擎基本工作原理

搜尋引擎基本工作原理

搜尋引擎的基本工作原理包括如下三個過程:首先在網際網路中發現、蒐集網頁信息;同時對信息進行提取和組織建立索引庫;再由檢索器根據用戶輸入的查詢關鍵字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,並將查詢結果返回給用戶。

基本介紹

  • 中文名:搜尋引擎基本工作原理
  • 外文名:Basic working principle of search engine
  • 首先:網際網路中發現、蒐集網頁信息
  • 第二步:檢索器根據用戶輸入的查詢關鍵字
  • 第三步:將查詢結果返回給用戶
工作原理,工作機制,工作流程,搜尋引擎,性能指標,

工作原理

搜尋引擎為了以最快的速度得到搜尋結果,它搜尋的內容通常是預先整理好的網頁索引資料庫。普通搜尋,不能真正理解網頁上的內容,它只能機械地匹配網頁上的文字。真正意義上的搜尋引擎,通常指的是收集了網際網路上幾千萬到幾十億個網頁並對網頁中的每一個文字(即關鍵字)進行索引,建立索引資料庫的全文搜尋引擎。當用戶查找某個關鍵字的時候,所有在頁面內容中包含了該關鍵字的網頁都將作為搜尋結果被搜出來。在經過複雜的算法進行排序後,這些結果將按照與搜尋關鍵字的相關度高低,依次排列。典型的搜尋引擎三大模組組成:
(一)信息採集模組
信息採集器是一個可以瀏覽網頁的程式,被形容為“網路爬蟲”。它首先打開一個網頁,然後把該網頁的連結作為瀏覽的起始地址,把被連結的網頁獲取過來,抽取網頁中出現的連結,並通過一定算法決定下一步要訪問哪些連結。同時,信息採集器將已經訪問過的URL存儲到自己的網頁列表並打上已搜尋的標記。自動標引程式檢查該網頁並為他創建一條索引記錄,然後將該記錄加入到整個查詢表中。信息收集器再以該網頁到超連結為起點繼續重複這一訪問過程直至結束。一般搜尋引擎的採集器在搜尋過程中只取鏈長比(超連結數目與文檔長度的比值)小於某一閥值的頁面,數據採集於內容頁面,不涉及目錄頁面。在採集文檔的同時記錄各文檔的地址信息、修改時間、文檔長度等狀態信息,用於站點資源的監視和資料庫的更新。在採集過程中還可以構造適當的啟發策略,指導採集器的搜尋路徑和採集範圍,減少文檔採集的盲目性。
(二)查詢表模組
查詢表模組是一個全文索引資料庫,他通過分析網頁,排除HTML等語言的標記符號,將出現的所有字或詞抽取出來,並記錄每個字詞出現的網址及相應位置(比如是出現在網頁標題中,還是出現在簡介或正文中),最後將這些數據存入查詢表,成為直接提供給用戶搜尋的資料庫。
(三)檢索模組
檢索模組是實現檢索功能的程式,其作用是將用戶輸入的檢索表達式拆分成具有檢索意義的字或詞,再訪問查詢表,通過一定的匹配算法獲得相應的檢索結果。返回的結果一般根據詞頻和網頁連結中反映的信息建立統計模型,按相關度由高到低的順序輸出。

工作機制

搜尋引擎的工作機制就是採用高效的蜘蛛程式,從指定URL開始順著網頁上的超連結,採用深度優先算法或廣度優先算法對整個Internet進行遍歷,將網頁信息抓取到本地資料庫。然後使用索引器對資料庫中的重要信息單元,如標題,關鍵字及摘要等或者全文進行索引,以供查詢導航。最後,檢索器將用戶通過瀏覽器提交的查詢請求與索引資料庫中的信息以某種檢索技術進行匹配,再將檢索結果按某種排序方法返回給用戶。

工作流程

(1)在互聯中發現、蒐集網頁信息
搜尋引擎首先負責數據採集,即按照一定的方式和要求對網路上的WWW站點進行蒐集,並把所獲得的信息保存下來以備建立索引庫和用戶檢索。但是收集網頁只是搜尋引擎的一部分工作,他們的其他伺服器要做的還有進行計算/分配/儲存用戶習慣等等。
搜尋引擎基本工作原理搜尋引擎基本工作原理
(2)對信息進行提取和組織建立索引庫
首先是數據分析與標引,搜尋引擎對已經收集到的資料給與按照網頁中的字元特性予以分類,建立搜尋原則,舉例來說,對於"軟體"這個詞,它必須建立一個索引,當用戶查找的時候,他知道到這裡來調取資料。當然,對於網頁語言,該字元的處理(大小寫/中文的斷字方式等等)等方面,各個搜尋引擎都有自己的存檔歸類方式,這些方式往往影響著未來搜尋結果。接下來是數據組織,搜尋引擎負責形成規範的索引資料庫或便於瀏覽的層次型分類目錄結構,也就是計算網頁等級,這個原則特別是在Google非常重要,一個接受很多連結的網頁,搜尋引擎必然在所有的網頁當中將這些連線多的網頁提升上來。
(3)在索引資料庫中搜尋排序
由檢索器根據用戶輸入的查詢關鍵字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,並將查詢結果返回給用戶。搜尋引擎負責幫助用戶用一定的方式檢索索引資料庫,獲取符合用戶需要的WWW信息。搜尋引擎還負責提取用戶相關信息,利用這些信息來提高檢索服務的質量,信息挖掘在個性化服務中起到關鍵作用。用戶檢索的過程是對前兩個過程的檢驗,檢驗該搜尋引擎能否給出最準確、最廣泛的信息,檢驗該搜尋引擎能否迅速地給出用戶最想得到的信息。

搜尋引擎

在搜尋引擎分類部分我們提到過全文搜尋引擎從網站提取信息建立網頁資料庫的概念。搜尋引擎的自動信息蒐集功能分兩種。一種是定期搜尋,即每隔一段時間(比如Google一般是28天),搜尋引擎主動派出“蜘蛛”程式,對一定IP位址範圍內的網際網路站進行檢索,一旦發現新的網站,它會自動提取網站的信息和網址加入自己的資料庫。
另一種是提交網站搜尋,即網站擁有者主動向搜尋引擎提交網址,它在一定時間內(2天到數月不等)定向向你的網站派出“蜘蛛”程式,掃描你的網站並將有關信息存入資料庫,以備用戶查詢。由於搜尋引擎索引規則發生了很大變化,主動提交網址並不保證你的網站能進入搜尋引擎資料庫,因此目前最好的辦法是多獲得一些外部連結,讓搜尋引擎有更多機會找到你並自動將你的網站收錄。
當用戶以關鍵字查找信息時,搜尋引擎會在資料庫中進行搜尋,如果找到與用戶要求內容相符的網站,便採用特殊的算法——通常根據網頁中關鍵字的匹配程度,出現的位置、頻次,連結質量等——計算出各網頁的相關度及排名等級,然後根據關聯度高低,按順序將這些網頁連結返回給用戶。

性能指標

在通常情況下,我們可以從以下幾個方面來衡量一個搜尋引擎的性能:
查全率指搜尋引擎提供的檢索結果中相關文檔數與網路中存在的相關文檔數之比,他是搜尋引擎對網路信息覆蓋率的真實反映。
查準率是搜尋引擎提供的檢索結果與用戶信息需求的匹配程度,也是檢索結果中有效文檔數與搜尋引擎提供的全部文檔數之比。
回響時間一般而言取決於2個因素,即與頻寬有關的網路速度和搜尋引擎本身的速度,只有在二者均獲得可靠的技術支持的情況下,才能保證理想的檢索速度。對搜尋引擎來講,查全率和查準率很難做到兩全其美,影響搜尋引擎的性能的主要是信息檢索模型,包括文檔和查詢的表示方法、評價文檔和用戶查詢相關性的匹配策略、查詢結果的排序方法和用戶進行相關度反饋的機制。

相關詞條

熱門詞條

聯絡我們