人文五社聯合書展
內容連載 頁數 1/4
【摘錄1】主題01:谷歌的搜尋功能是如何運作的?

無論何時在谷歌上進行搜尋,搜尋引擎都會爬梳超過三十兆個網際網路上的頁面,然後找到前十筆符合您搜尋的結果。有92%的時間你會點選在第一頁當中的某個結果(也就是前十筆結果當中)。從三十兆的網頁中找到前十筆相當困難——就如同在紐約市尋找掉在地上的一分錢。然而谷歌用專家的方式在平均半秒的時間內找到結果。但是,它是如何做到的?

實際上谷歌並不是你每次搜尋的時候,就前往網際網路上的每個頁面。谷歌實際上是將網頁的資訊存在資料庫(資訊的表格,如Excel),然後使用演算法讀取資料庫,決定要呈現哪些內容。演算法只是一連串的指令——人類也許有個「演算法」用於製作一個花生醬與果醬的雙醬三明治,如同谷歌有演算法用於尋找你在搜尋列中輸入的內容。

※爬取

谷歌的演算,是從建立資料庫用於儲存網際網路上每個頁面的資料開始的。谷歌使用稱為蜘蛛的程式,用於「爬取」(crawl)網頁,直到找到所有頁面(或者至少是谷歌覺得是所有的頁面)。蜘蛛先從少數的頁面著手,再將這些頁面新增到谷歌的網頁列表,稱為「索引」(index)。然後蜘蛛從這些頁面的向外的連結開始,找到新的一組頁面,也加到索引中。下一步,他們跟著這些頁面上的連結繼續同個步驟,直到谷歌無法找到其他頁面。

爬取的動作不斷在進行,谷歌一直在新增頁面到他們的索引,或者是當頁面有變更時,谷歌也會更新索引。索引的檔案規模非常巨大,超過一億GB。假如你想把它裝進容量為1TB的外接硬碟,會需要十萬個外接硬碟——如果將它堆疊起來,大概會有一英里高。

※文字搜尋

當你在谷歌進行搜尋,谷歌會抓取查詢內容(你輸入在搜尋框的文字),然後比對它的索引,尋找最相關的頁面。

谷歌如何做到這件事?最簡單的方法是尋找特定關鍵字出現的地方,有點類似按下Ctrl+F或者Cmd+F搜尋一個巨大的Word文件。確實,這是90年代搜尋引擎運作的方式:就是在其索引當中尋找符合你搜尋的文字,並且顯示最相關的頁面,這個「相關」的屬性稱為關鍵字密度。

這個方法很容易被操弄。假如你輸入士力架糖果棒(Snickers),想像你會看到snickers.com排在第一位。但是如果搜尋引擎只是計算士力架這個單字在頁面上出現的次數,任何一個人可以製作隨機的網頁,頁面上只出現「士力架士力架士力架士力架」(如此一直下去),然後就會被排到搜尋結果的首位。很明顯,這並不是非常有用的方式。
41 2 3 4 下一頁 跳到