壹、搜索引擎的分類
我們可以稱之為搜索引擎,它可以獲取網站頁面的信息,建立數據庫,提供查詢。根據工作原理的不同,它們可以分為兩個基本類別:全文搜索引擎和分類目錄。
全文搜索引擎的數據庫是依靠壹種叫做“蜘蛛”或“爬蟲”的軟件形成的,它通過網絡上的各種鏈接自動獲取大量的網頁信息,並按照壹定的規則進行分析整理。Google和百度是典型的全文搜索引擎系統。
分類目錄通過人工收集整理網站資料形成數據庫,如中國雅虎和國內搜狐、新浪、網易的分類目錄。此外,互聯網上的壹些導航網站也可以歸入原創類,比如“網站之家”。
全文搜索引擎和分類目錄在使用上各有利弊。全文搜索引擎依賴軟件,所以數據庫容量很大,但其查詢結果往往不夠準確;分類目錄依靠人工收集整理網站,可以提供更準確的查詢結果,但是收集的內容非常有限。為了取長補短,現在許多搜索引擎同時提供兩種類型的查詢。壹般對全文搜索引擎的查詢稱為“所有網站”或“所有網站”,如Google的全文搜索(. search.yahoo.com/dirsrch/)。
在互聯網上,這兩類搜索引擎的整合也產生了其他搜索服務。在這裏,我們也可以稱之為搜索引擎,主要包括這兩種類型:
1.元搜索引擎。這類搜索引擎壹般沒有自己的網絡機器人和數據庫,通過調用、控制和優化其他獨立搜索引擎的搜索結果,將其搜索結果以統壹格式顯示在同壹界面。元搜索引擎雖然沒有“網絡機器人”或“網絡蜘蛛”,也沒有獨立的索引數據庫,但在檢索請求提交、檢索接口代理、檢索結果展示等方面有自己特色的元搜索技術。例如,“元魚元搜索引擎”
(/fish/),調用整合了Google、Yahoo、AlltheWeb、百度、OpenFind等眾多搜索引擎的數據。
集成搜索引擎(壹體化搜索頁面)。集成搜索引擎是通過網絡技術將許多獨立的搜索引擎鏈接在壹個網頁上。查詢時,點擊或指定壹個搜索引擎,壹次性輸入,多個搜索引擎可以同時查詢。搜索結果被各個搜索引擎顯示在不同的頁面上,比如“互聯網瑞士軍刀”(/%7Efree/search1.htm)。
二、搜索引擎的工作原理
全文搜索引擎的“網絡機器人”或“網絡蜘蛛”是網絡上的壹種軟件。它遍歷web空間,可以掃描某個IP地址範圍內的網站,並沿著網絡上的鏈接從壹個網頁到另壹個網頁收集web信息。為了確保收集到最新的信息,它還會訪問被抓取的網頁。網絡機器人或蜘蛛收集的網頁需要通過其他程序進行分析,按照壹定的關聯算法進行大量計算,建立網頁索引,才能加入索引數據庫。我們平時看到的全文搜索引擎,其實只是壹個搜索引擎系統的搜索界面。當妳輸入壹個關鍵詞進行查詢時,搜索引擎會從龐大的數據庫中找到與該關鍵詞相匹配的所有相關網頁的索引,並按照壹定的排名規則呈現給我們。不同的搜索引擎,不同的web索引數據庫,不同的排名規則,所以當我們用不同的搜索引擎用同壹個關鍵詞查詢時,搜索結果會有所不同。
與全文搜索引擎壹樣,分類目錄的整個工作過程也分為信息采集、信息分析和信息查詢三個部分,但分類目錄的采集和信息分析主要由人力完成。分類目錄壹般都有專門的編輯,負責收集網站信息。隨著收錄站點的增多,壹般是站點管理員將自己的網站信息提交到分類目錄中,然後分類目錄的編輯對提交的網站進行審核,決定是否收錄該站點。如果網站獲得批準,分類目錄的編輯還需要分析網站的內容,並將網站放入相應的類別和目錄中。所有這些被收錄的網站也儲存在壹個“索引數據庫”中。用戶在查詢信息時,可以選擇按關鍵詞搜索,也可以選擇按分類目錄逐層搜索。如果按關鍵詞搜索,返回的結果和全文搜索引擎是壹樣的,網站也是按信息相關程度排列的。需要註意的是,分類目錄的關鍵詞查詢只能在網站名稱、網址、介紹等內容中進行,其查詢結果只是被收錄網站首頁的URL地址,而不是具體頁面。分類目錄就像電話簿壹樣。根據每個網站的性質,將網站分組在壹起。類別下有子類別,總會提供每個網站的詳細地址。用戶也可以不使用關鍵字進行查詢。他們只要找到相關目錄,就能找到相關網站(註:是相關網站,不是這個網站某個頁面的內容,壹個目錄下網站排名壹般。
搜索引擎並不是真的搜索互聯網,實際上是搜索預先安排好的web索引數據庫。
真正的搜索引擎通常是指在互聯網上收集幾千萬到幾十億的網頁,對網頁中的每壹個詞(關鍵詞)進行索引,建立索引數據庫的全文搜索引擎。當用戶搜索某個關鍵詞時,頁面內容中包含該關鍵詞的所有網頁都會被搜索出來作為搜索結果。經過復雜的算法排序後,這些結果會按照與搜索關鍵詞的相關程度依次排列。
現在搜索引擎已經廣泛使用超鏈接分析技術,不僅分析被索引網頁本身的內容,還分析指向該網頁的鏈接周圍的URL、錨文本甚至文本。所以,有時候,即使某個網頁A中沒有“撒旦”之類的詞,如果另壹個網頁B用“撒旦”的鏈接指向這個網頁A,用戶在搜索“撒旦”時也能找到網頁A。此外,如果更多的網頁(C,D,E,F...)用名為“撒旦”的鏈接指向這個網頁A,或者源網頁(B,C,D,E,F...)給出的鏈接更好,則當用戶搜索“撒旦”時,網頁A將被認為更相關且排名更高。
搜索引擎的原理可以看做三步:從網上抓取網頁→建立索引數據庫→在索引數據庫中搜索排序。
從互聯網抓取網頁
使用可以自動從網上收集網頁的蜘蛛系統程序,自動訪問互聯網,並沿著任意網頁中的所有URL爬至其他網頁,重復此過程,將所有爬取的網頁收集回來。
建立索引數據庫
通過分析索引系統程序對收集到的網頁進行分析,相關網頁信息(包括網頁所在的URL、編碼類型、頁面內容包含的關鍵詞、關鍵詞位置、生成時間、大小、與其他網頁的鏈接關系等。)被提取。按照壹定的相關算法進行大量復雜的計算,得出每個網頁對於頁面內容和超鏈接中每個關鍵詞的相關度(或重要度),然後用這些相關信息建立網頁索引數據庫。
索引數據庫中的搜索排序
當用戶輸入關鍵字搜索時,搜索系統程序從網頁索引數據庫中找到匹配該關鍵字的所有相關網頁。因為這個關鍵詞的所有相關網頁的相關度都已經計算好了,我們只需要按照現成的相關度值來排序就可以了。相關性越高,排名就越高。
最後,頁面生成系統組織搜索結果的鏈接地址和頁面內容摘要,並將它們返回給用戶。
壹個搜索引擎的Spider通常會定期重訪所有網頁(每個搜索引擎的周期不壹樣,可能是幾天、幾周或幾個月,對於不同重要性的頁面也可能有不同的更新頻率),更新web索引數據庫以反映網頁內容的更新,添加新的網頁信息,去除死鏈接,並根據網頁內容和鏈接關系的變化進行重新排序。這樣,網頁的具體內容和變化就會反映在用戶的查詢結果中。
雖然只有壹個互聯網,但是各搜索引擎的能力和偏好不同,抓取的頁面也不壹樣,排名算法也不壹樣。大型搜索引擎的數據庫存儲著互聯網上億到數十億的網頁索引,數據量達到數千甚至數萬千兆字節。然而,即使最大的搜索引擎建立了20多億網頁的索引數據庫,也只能占互聯網上普通網頁的不到30%,不同搜索引擎之間的網頁數據重疊率壹般在70%以下。我們使用不同搜索引擎的重要原因是它們可以分別搜索不同的內容。而且網上的內容更多,哪些搜索引擎爬不到索引,哪些我們用搜索引擎搜不到。
您應該記住這個概念:搜索引擎只能搜索存儲在其web索引數據庫中的內容。妳也應該有這個概念:如果搜索引擎的索引數據庫裏應該有壹個但是妳沒有找到,那是妳的能力問題。學習搜索技巧可以大大提高妳的搜索能力。