2007年11月6日

搜索引擎發展史

http://eason982.blogspot.com/2007/11/blog-post.html
搜索引擎發展史 
 
在互聯網發展初期,網站相對較少,資訊搜尋比較容易。然而伴隨互聯網爆炸性的發展,普通網絡使用者想找到所需的資料簡直如同大海撈針,這時為滿足大眾資訊檢索需求的專業搜索網站便應運而生了。

  現代意義上的搜索引擎的祖先,是1990年由蒙特利爾大學學生Alan Emtage發明的Archie。雖然當時World Wide Web還未出現,但網絡中文件傳輸還是相當頻繁的,而且由於大量的文件散布在各個分散的FTP主電腦中,查詢起來非常不便,因此Alan Emtage想到了開發一個可以以文件名搜尋文件的系統,於是便有了Archie。

  Archie工作原理與現在的搜索引擎已經很接近,它依靠腳本程序自動搜索網上的文件,然后對有關資訊進行索引,供使用者以一定的表達式查詢。由於Archie深受使用者歡迎,受其啟發,美國內華達System Computing Services大學於1993年開發了另一個與之非常相似的搜索工具,不過此時的搜索工具除了索引文件外,已能檢索網頁。

  當時,“機器人”一詞在程式化者中十分流行。電腦“機器人”(Computer Robot)是指某個能以人類無法達到的速度不間斷地執行某項任務的軟體程序。由於專門用於檢索資訊的“機器人”程序象蜘蛛一樣在網絡間爬來爬去,因此,搜索引擎的“機器人”程序就被稱為“蜘蛛”程序。

  世界上第一個用於監測互聯網發展規模的“機器人”程序是Matthew Gray開發的World wide Web Wanderer。剛開始它只用來統計互聯網上的服務器數量,后來則發展為能夠檢索網站域名。

  與Wanderer相對應,Martin Koster於1993年10月創建了ALIWEB,它是Archie的HTTP版本。ALIWEB不使用“機器人”程序,而是靠網站主動提交資訊來建立自己的連結索引,類似於現在我們熟知的Yahoo。

  隨著互聯網的迅速發展,使得檢索所有新出現的網頁變得越來越困難,因此,在Matthew Gray的Wanderer基礎上,一些程式化者將傳統的“蜘蛛”程序工作原理作了些改進。其設想是,既然所有網頁都可能有連向其他網站的連結,那麼從跟蹤一個網站的連結開始,就有可能檢索整個互聯網。到1993年底,一些基於此原理的搜索引擎開始紛紛涌現,其中以JumpStation、The World Wide Web Worm(Goto的前身,也就是今天Overture),和Repository-Based Software Engineering (RBSE) spider最負盛名。

  然而JumpStation和WWW Worm只是以搜索工具在資料庫中找到匹配資訊的先后次序排列搜索結果,因此毫無資訊關聯度可言。而RBSE是第一個在搜索結果排列中引入關鍵字串匹配程度概念的引擎。

  最早現代意義上的搜索引擎出現於1994年7月。當時Michael Mauldin將John Leavitt的蜘蛛程序接入到其索引程序中,創建了大家現在熟知的Lycos。同年4月,斯坦福(Stanford)大學的兩名博士生,David Filo和美籍華人楊致遠(Gerry Yang)共同創辦了超級目錄索引Yahoo,並成功地使搜索引擎的概念深入人心。從此搜索引擎進入了高速發展時期。目前,互聯網上有名有姓的搜索引擎已達數百家,其檢索的資訊量也與從前不可同日而語。比如最近風頭正勁的Google,其資料庫中存放的網頁已達30億之巨!

  隨著互聯網規模的急劇膨脹,一家搜索引擎光靠自己單打獨斗已無法適應目前的市場狀況,因此現在搜索引擎之間開始出現了分工協作,並有了專業的搜索引擎技術和搜索資料庫服務提供商。象國外的Inktomi(已被Yahoo收購),它本身並不是直接面向使用者的搜索引擎,但向包括Overture(原GoTo,已被Yahoo收購)、LookSmart、MSN、HotBot等在內的其他搜索引擎提供全文網頁搜索服務。國內的百度也屬於這一類(注1),搜狐和新浪用的就是它的技術(注2)。因此從這個意義上說,它們是搜索引擎的搜索引擎。

  (注1):百度已於2001年9月開始提供公共搜索服務。
  (注1):搜狐二級網頁搜索現已改為中搜的引擎,而新浪則已轉用Google的搜索結果。

搜索引擎分類
  搜索引擎按其工作方式主要可分為三種,分別是全文搜索引擎(Full Text Search Engine)、目錄索引類搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。
 ■ 全文搜索引擎
  全文搜索引擎是名副其實的搜索引擎,國外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,國內著名的有百度(Baidu)。它們都是通過從互聯網上提取的各個網站的資訊(以網頁文字為主)而建立的資料庫中,檢索與使用者查詢條件匹配的相關記錄,然后按一定的排列順序將結果返回給使用者,因此他們是真正的搜索引擎。  從搜索結果來源的角度,全文搜索引擎又可細分為兩種,一種是擁有自己的檢索程序(Indexer),俗稱“蜘蛛”(Spider)程序或“機器人”(Robot)程序,並自建網頁資料庫,搜索結果直接從自身的資料庫中調用,如上面提到的7家引擎;另一種則是租用其他引擎的資料庫,並按自定的格式排列搜索結果,如Lycos引擎。

 ■ 目錄索引
  目錄索引雖然有搜索功能,但在嚴格意義上算不上是真正的搜索引擎,僅僅是按目錄分類的網站連結列表而已。使用者完全可以不用進行關鍵詞(Keywords)查詢,僅靠分類目錄也可找到需要的資訊。目錄索引中最具代表性的莫過於大名鼎鼎的Yahoo雅虎。其他著名的還有Open Directory Project(DMOZ)、LookSmart、About等。國內的搜狐、新浪、網易搜索也都屬於這一類。
 ■ 元搜索引擎 (META Search Engine)
  元搜索引擎在接受使用者查詢請求時,同時在其他多個引擎上進行搜索,並將結果返回給使用者。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。在搜索結果排列方面,有的直接按來源引擎排列搜索結果,如Dogpile,有的則按自定的規則將結果重新排列組合,如Vivisimo。

  除上述三大類引擎外,還有以下幾種非主流形式:

  1、集合式搜索引擎:如HotBot在2002年底推出的引擎。該引擎類似META搜索引擎,但區別在於不是同時調用多個引擎進行搜索,而是由使用者從提供的4個引擎當中選擇,因此叫它“集合式”搜索引擎更確切些。

  2、門戶搜索引擎:如AOL Search、MSN Search等雖然提供搜索服務,但自身即沒有分類目錄也沒有網頁資料庫,其搜索結果完全來自其他引擎。

  3、免費連結列表(Free For All Links,簡稱FFA):這類網站一般只簡單地捲動排列連結條目,少部分有簡單的分類目錄,不過規模比起Yahoo等目錄索引來要小得多。

    由於上述網站都為使用者提供搜索查詢服務,為方便起見,我們通常將其統稱為搜索引擎。搜索引擎基本工作原理了解搜索引擎的工作原理對我們日常搜索應用和網站提交推廣都會有很大幫助。
 ■ 全文搜索引擎
  在搜索引擎分類部分我們提到過全文搜索引擎從網站提取資訊建立網頁資料庫的概念。搜索引擎的自動資訊搜集功能分兩種。一種是定期搜索,即每隔一段時間(比如Google一般是28天),搜索引擎主動派出“蜘蛛”程序,對一定IP地址範圍內的互聯網站進行檢索,一旦發現新的網站,它會自動提取網站的資訊和網址加入自己的資料庫。  另一種是提交網站搜索,即網站擁有者主動向搜索引擎提交網址,它在一定時間內(2天到數月不等)定向向你的網站派出“蜘蛛”程序,掃瞄你的網站並將有關資訊存入資料庫,以備使用者查詢。由於近年來搜索引擎索引規則發生了很大變化,主動提交網址並不保證你的網站能進入搜索引擎資料庫,因此目前最好的辦法是多獲得一些外部連結,讓搜索引擎有更多機會找到你並自動將你的網站收錄。  當使用者以關鍵詞搜尋資訊時,搜索引擎會在資料庫中進行搜尋,如果找到與使用者要求內容相符的網站,便採用特殊的算法——通常根據網頁中關鍵詞的匹配程度,出現的位置/頻次,連結質量等——計算出各網頁的相關度及排名等級,然后根據關聯度高低,按順序將這些網頁連結返回給使用者。

........................................................................................


 ■ 目錄索引
  與全文搜索引擎相比,目錄索引有許多不同之處。
  首先,搜索引擎屬於自動網站檢索,而目錄索引則完全依賴手工操作。使用者提交網站后,目錄編輯人員會親自瀏覽你的網站,然后根據一套自定的評判標準甚至編輯人員的主觀印象,決定是否接納你的網站。
  其次,搜索引擎收錄網站時,只要網站本身沒有違反有關的規則,一般都能登錄成功。而目錄索引對網站的要求則高得多,有時即使登錄多次也不一定成功。尤其象Yahoo!這樣的超級索引,登錄更是困難。(由於登錄Yahoo!的難度最大,而它又是商家必爭之地,所以我們會在后面用專門的篇幅介紹登錄Yahoo雅虎的技巧)
  此外,在登錄搜索引擎時,我們一般不用考慮網站的分類問題,而登錄目錄索引時則必須將網站放在一個最合適的目錄(Directory)。
  最后,搜索引擎中各網站的有關資訊都是從使用者網頁中自動提取的,所以使用者的角度看,我們擁有更多的自主權;而目錄索引則要求必須手工另外填寫網站資訊,而且還有各種各樣的限制。更有甚者,如果工作人員認為你提交網站的目錄、網站資訊不合適,他可以隨時對其進行調整,當然事先是不會和你商量的。
  目錄索引,顧名思義就是將網站分門別類地存放在相應的目錄中,因此使用者在查詢資訊時,可選擇關鍵詞搜索,也可按分類目錄逐層搜尋。如以關鍵詞搜索,返回的結果跟搜索引擎一樣,也是根據資訊關聯程度排列網站,只不過其中人為因素要多一些。如果按分層目錄搜尋,某一目錄中網站的排名則是由標題字母的先后順序決定(也有例外)。
  目前,搜索引擎與目錄索引有相互融合滲透的趨勢。原來一些純粹的全文搜索引擎現在也提供目錄搜索,如Google就借用Open Directory目錄提供分類查詢。而象 Yahoo! 這些老牌目錄索引則通過與Google等搜索引擎合作擴大搜索範圍

(注)。在預設搜索模式下,一些目錄類搜索引擎首先返回的是自己目錄中匹配的網站,如國內搜狐、新浪、網易等;而另外一些則預設的是網頁搜索,如Yahoo。

  (注):Yahoo已於2004年2月正式推出自己的全文搜索引擎,並結束了與Google的合作。

沒有留言: