這篇文章中,我們介紹了google,它是一個大型的搜索引擎(of a large-scale search engine)的原型,搜索引擎在超文本中應用廣泛。Google的設計能夠高效地抓網頁并建立索引,它的查詢結果比其它現有系統都高明。這個原型的全文和超連接的數據庫至少包含24′000′000個網頁。我們可以從http://google.stanford.edu/ 下載。
設計搜索引擎是一項富有挑戰性的工作。搜索引擎為上億個網頁建立索引,其中包含大量迥然不同的詞匯。而且天天要回答成千上萬個查詢。在網絡中,盡管大型搜索引擎非常重要,但是學術界卻很少研究它。此外由于技術的快速發展和網頁的大量增加,現在建立一個搜索引擎和三年前完全不同。
本文具體介紹了我們的大型搜索引擎,據我們所知,在公開發表的論文中,這是第一篇描述地如此具體。除了把傳統數據搜索技術應用到如此大量級網頁中所碰到的問題,還有許多新的技術挑戰,包括應用超文本中的附加信息改進搜索結果。
本文將解決這個問題,描述如何運用超文本中的附加信息,建立一個大型實用系統。任何人都可以在網上隨意發布信息,如何有效地處理這些無組織的超文本集合,也是本文要關注的問題。
關鍵詞 World Wide Web,搜索引擎,信息檢索,PageRank, Google
1 緒論
Web給信息檢索帶來了新的挑戰。Web上的信息量快速增長,同時不斷有毫無經驗的新用戶來體驗Web這門藝術。人們喜歡用超級鏈接來網上沖浪,通常都以象Yahoo這樣重要的網頁或搜索引擎開始。大家認為List(目錄)有效地包含了大家感愛好的主題,但是它具有主觀性,建立和維護的代價高,升級慢,不能包括所有深奧的主題。基于關鍵詞的自動搜索引擎通常返回太多的低質量的匹配。使問題更遭的是,一些廣告為了贏得人們的關注想方設法誤導自動搜索引擎。我們建立了一個大型搜索引擎解決了現有系統中的很多問題。應用超文本結構,大大提高了查詢質量。我們的系統命名為google,取名自googol的通俗拼法,即10的100次方,這和我們的目標建立一個大型搜索引擎不謀而合。
1.1網絡搜索引擎—升級換代(scaling up):
1994-2000 搜索引擎技術不得不快速升級(scale dramatically)跟上成倍增長的web數量。
1994年,第一個Web搜索引擎,World Wide Web Worm(WWWW)可以檢索到110,000個網頁和Web的文件。
到1994年11月,頂級的搜索引擎聲稱可以檢索到2‘000′000(WebCrawler)至100‘000′000個網絡文件(來自 Search Engine Watch)。
可以預見到2000年,可檢索到的網頁將超過1‘000′000‘000。同時,搜索引擎的訪問量也會以驚人的速度增長。
在1997年的三四月份,World Wide Web Worm 平均天天收到1500個查詢。
在1997年11月,Altavista 聲稱它天天要處理大約20′000′000個查詢。隨著網絡用戶的增長.
到2000年,自動搜索引擎天天將處理上億個查詢。我們系統的設計目標要解決許多問題,包括質量和可升級性,引入升級搜索引擎技術(scaling search engine technology),把它升級到如此大量的數據上。
1.2 Google:
跟上Web的步伐(Scaling with the Web)建立一個能夠和當今web規模相適應的搜索引擎會面臨許多挑戰。抓網頁技術必須足夠快,才能跟上網頁變化的速度(keep them up to date)。存儲索引和文檔的空間必須足夠大。索引系統必須能夠有效地處理上千億的數據。處理查詢必須快,達到每秒能處理成百上千個查詢(hundreds to thousands per second.)。隨著Web的不斷增長,這些任務變得越來越艱巨。然而硬件的執行效率和成本也在快速增長,可以部分抵消這些困難。還有幾個值得注重的因素,如磁盤的尋道時間(disk seek time),操作系統的效率(operating system robustness)。在設計Google的過程中,我們既考慮了Web的增長速度,又考慮了技術的更新。Google的設計能夠很好的升級處理海量數據集。它能夠有效地利用存儲空間來存儲索引。優化的數據結構能夠快速有效地存取(參考4.2節)。進一步,我們希望,相對于所抓取的文本文件和HTML網頁的數量而言,存儲和建立索引的代價盡可能的小(參考附錄B)。對于象Google這樣的集中式系統,采取這些措施得到了令人滿足的系統可升級性(scaling properties)。
新聞熱點
疑難解答