当前位置 - 股票行情交易網 - 文娛動態 - 為何我按搜索鍵就能搜索到想要找的東西

為何我按搜索鍵就能搜索到想要找的東西

在浩如煙海的Internet上,特別是其上的Web(World Wide Web萬維網)上,不會搜索,就不會上網。網蟲朋友們,妳了解搜索引擎嗎?它們是怎麽工作的?妳都使用哪些搜索引擎?今天我就和大家聊聊搜索引擎的話題。

壹、搜索引擎的分類

獲得網站網頁資料,能夠建立數據庫並提供查詢的系統,我們都可以把它叫做搜索引擎。按照工作原理的不同,可以把它們分為兩個基本類別:全文搜索引擎(FullText Search Engine)和分類目錄Directory)。

全文搜索引擎的數據庫是依靠壹個叫“網絡機器人(Spider)”或叫“網絡蜘蛛(crawlers)”的軟件,通過網絡上的各種鏈接自動獲取大量網頁信息內容,並按以定的規則分析整理形成的。Google、百度都是比較典型的全文搜索引擎系統。

分類目錄則是通過人工的方式收集整理網站資料形成數據庫的,比如雅虎中國以及國內的搜狐、新浪、網易分類目錄。另外,在網上的壹些導航站點,也可以歸屬為原始的分類目錄,比如“網址之家”。

全文搜索引擎和分類目錄在使用上各有長短。全文搜索引擎因為依靠軟件進行,所以數據庫的容量非常龐大,但是,它的查詢結果往往不夠準確;分類目錄依靠人工收集和整理網站,能夠提供更為準確的查詢結果,但收集的內容卻非常有限。為了取長補短,現在的很多搜索引擎,都同時提供這兩類查詢,壹般對全文搜索引擎的查詢稱為搜索“所有網站”或“全部網站”,比如Google的全文搜索(.search.yahoo.com/dirsrch/)。

在網上,對這兩類搜索引擎進行整合,還產生了其它的搜索服務,在這裏,我們權且也把它們稱作搜索引擎,主要有這兩類:

⒈元搜索引擎(META Search Engine)。這類搜索引擎壹般都沒有自己網絡機器人及數據庫,它們的搜索結果是通過調用、控制和優化其它多個獨立搜索引擎的搜索結果並以統壹的格式在同壹界面集中顯示。元搜索引擎雖沒有“網絡機器人”或“網絡蜘蛛”,也無獨立的索引數據庫,但在檢索請求提交、檢索接口代理和檢索結果顯示等方面,均有自己研發的特色元搜索技術。比如“metaFisher元搜索引擎”

(/fish/),它就調用和整合了Google、Yahoo、AlltheWeb、百度和OpenFind等多家搜索引擎的數據。

⒉集成搜索引擎(All-in-One Search Page)。集成搜索引擎是通過網絡技術,在壹個網頁上鏈接很多個獨立搜索引擎,查詢時,點選或指定搜索引擎,壹次輸入,多個搜索引擎同時查詢,搜索結果由各搜索引擎分別以不同頁面顯示,比如“網際瑞士軍刀”(/%7Efree/search1.htm)。

二、搜索引擎的工作原理

全文搜索引擎的“網絡機器人”或“網絡蜘蛛”是壹種網絡上的軟件,它遍歷Web空間,能夠掃描壹定IP地址範圍內的網站,並沿著網絡上的鏈接從壹個網頁到另壹個網頁,從壹個網站到另壹個網站采集網頁資料。它為保證采集的資料最新,還會回訪已抓取過的網頁。網絡機器人或網絡蜘蛛采集的網頁,還要有其它程序進行分析,根據壹定的相關度算法進行大量的計算建立網頁索引,才能添加到索引數據庫中。我們平時看到的全文搜索引擎,實際上只是壹個搜索引擎系統的檢索界面,當妳輸入關鍵詞進行查詢時,搜索引擎會從龐大的數據庫中找到符合該關鍵詞的所有相關網頁的索引,並按壹定的排名規則呈現給我們。不同的搜索引擎,網頁索引數據庫不同,排名規則也不盡相同,所以,當我們以同壹關鍵詞用不同的搜索引擎查詢時,搜索結果也就不盡相同。

和全文搜索引擎壹樣,分類目錄的整個工作過程也同樣分為收集信息、分析信息和查詢信息三部分,只不過分類目錄的收集、分析信息兩部分主要依靠人工完成。分類目錄壹般都有專門的編輯人員,負責收集網站的信息。隨著收錄站點的增多,現在壹般都是由站點管理者遞交自己的網站信息給分類目錄,然後由分類目錄的編輯人員審核遞交的網站,以決定是否收錄該站點。如果該站點審核通過,分類目錄的編輯人員還需要分析該站點的內容,並將該站點放在相應的類別和目錄中。所有這些收錄的站點同樣被存放在壹個“索引數據庫”中。用戶在查詢信息時,可以選擇按照關鍵詞搜索,也可按分類目錄逐層查找。如以關鍵詞搜索,返回的結果跟全文搜索引擎壹樣,也是根據信息關聯程度排列網站。需要註意的是,分類目錄的關鍵詞查詢只能在網站的名稱、網址、簡介等內容中進行,它的查詢結果也只是被收錄網站首頁的URL地址,而不是具體的頁面。分類目錄就像壹個電話號碼薄壹樣,按照各個網站的性質,把其網址分門別類排在壹起,大類下面套著小類,壹直到各個網站的詳細地址,壹般還會提供各個網站的內容簡介,用戶不使用關鍵詞也可進行查詢,只要找到相關目錄,就完全可以找到相關的網站(註意:是相關的網站,而不是這個網站上某個網頁的內容,某壹目錄中網站的排名壹般是按照標題字母的先後順序或者收錄的時間順序決定的)。

搜索引擎並不真正搜索互聯網,它搜索的實際上是預先整理好的網頁索引數據庫。

真正意義上的搜索引擎,通常指的是收集了因特網上幾千萬到幾十億個網頁並對網頁中的每壹個詞(即關鍵詞)進行索引,建立索引數據庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的算法進行排序後,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。

現在的搜索引擎已普遍使用超鏈分析技術,除了分析索引網頁本身的內容,還分析索引所有指向該網頁的鏈接的URL、AnchorText、甚至鏈接周圍的文字。所以,有時候,即使某個網頁A中並沒有某個詞比如“惡魔撒旦”,但如果有別的網頁B用鏈接“惡魔撒旦”指向這個網頁A,那麽用戶搜索“惡魔撒旦”時也能找到網頁A。而且,如果有越多網頁(C、D、E、F……)用名為“惡魔撒旦”的鏈接指向這個網頁A,或者給出這個鏈接的源網頁(B、C、D、E、F……)越優秀,那麽網頁A在用戶搜索“惡魔撒旦”時也會被認為更相關,排序也會越靠前。

搜索引擎的原理,可以看做三步:從互聯網上抓取網頁→建立索引數據庫→在索引數據庫中搜索排序。

從互聯網上抓取網頁

利用能夠從互聯網上自動收集網頁的Spider系統程序,自動訪問互聯網,並沿著任何網頁中的所有URL爬到其它網頁,重復這過程,並把爬過的所有網頁收集回來。

建立索引數據庫

由分析索引系統程序對收集回來的網頁進行分析,提取相關網頁信息(包括網頁所在URL、編碼類型、頁面內容包含的關鍵詞、關鍵詞位置、生成時間、大小、與其它網頁的鏈接關系等),根據壹定的相關度算法進行大量復雜計算,得到每壹個網頁針對頁面內容中及超鏈中每壹個關鍵詞的相關度(或重要性),然後用這些相關信息建立網頁索引數據庫。

在索引數據庫中搜索排序

當用戶輸入關鍵詞搜索後,由搜索系統程序從網頁索引數據庫中找到符合該關鍵詞的所有相關網頁。因為所有相關網頁針對該關鍵詞的相關度早已算好,所以只需按照現成的相關度數值排序,相關度越高,排名越靠前。

最後,由頁面生成系統將搜索結果的鏈接地址和頁面內容摘要等內容組織起來返回給用戶。

搜索引擎的Spider壹般要定期重新訪問所有網頁(各搜索引擎的周期不同,可能是幾天、幾周或幾月,也可能對不同重要性的網頁有不同的更新頻率),更新網頁索引數據庫,以反映出網頁內容的更新情況,增加新的網頁信息,去除死鏈接,並根據網頁內容和鏈接關系的變化重新排序。這樣,網頁的具體內容和變化情況就會反映到用戶查詢的結果中。

互聯網雖然只有壹個,但各搜索引擎的能力和偏好不同,所以抓取的網頁各不相同,排序算法也各不相同。大型搜索引擎的數據庫儲存了互聯網上幾億至幾十億的網頁索引,數據量達到幾千G甚至幾萬G。但即使最大的搜索引擎建立超過二十億網頁的索引數據庫,也只能占到互聯網上普通網頁的不到30%,不同搜索引擎之間的網頁數據重疊率壹般在70%以下。我們使用不同搜索引擎的重要原因,就是因為它們能分別搜索到不同的內容。而互聯網上有更大量的內容,是搜索引擎無法抓取索引的,也是我們無法用搜索引擎搜索到的。

妳心裏應該有這個概念:搜索引擎只能搜到它網頁索引數據庫裏儲存的內容。妳也應該有這個概念:如果搜索引擎的網頁索引數據庫裏應該有而妳沒有搜出來,那是妳的能力問題,學習搜索技巧可以大幅度提高妳的搜索能力。