MATT CUTTS是GOOGLE QUALITY GROUP的軟體工程師,他的工作就是讓優值的網站有好的排名,並且開發技術把較差的、欺騙性的網站從搜尋結果中移除。
我們從圖書館收到最常問的問題就是“GOOGLE是如何決定搜尋結果的前後排序的?” 現在,MATT CUTTS,來自GOOGLE的資深工程師,將來幫助我們初步解答這個問題“我們怎樣搜尋和擷取網頁然後在搜尋結果中排列的?”
搜尋和索引
在你透過Google搜尋引擎搜尋出網頁之前,已經發生很多事情了。我們的第一步是先去搜索Internet上頭數億的網頁,這個工作是由GOOGLE BOT來做的,就是我們的“網路機器人”,它連接世界上的WEB伺服器截取文件,這個網路機器人不是真的在WEB上閒逛,它請求WEB SERVER返回一個特殊的網頁,然後掃描網頁上的連結,用這個方法可以抓取到新的文件。我們的網路機器人給每一個取回的頁面一個數值,根據這個數值能查閱所抓取到的頁面。
我們的搜尋工具產生了一大串文件,但是這些文件仍然是不可搜尋的,因為沒有索引。假如你想去找像“CIVIL WAR”詞,我們的伺服器在每一次你搜尋時都不得不讀每個文件中全部的文本。
因此下一步就是建立一個索引。我們轉化了搜尋到的資料。代替不得不掃描每個文件中的每一個單字,我們現在做的是我們篡改我們的資料為了列出包含特定值的每一個文件。例如,單字“CIVIL”可能出現在文件3,8,22,56,68 和92中,然後單字“WAR”可能出現在文件2,8,15,22,68和77中。
一旦我們建立了我們的索引,我們就可以開始準備排列文件並且決定他們的內容相關度。假設有人來到GOOGLE並且鍵入“CIVIL WAR”。了呈現並且評價搜尋結果,我們需要做兩件事情:
1。找到包括客人索引的一組頁面。
2。根據相關度排序這些匹配頁面。
我們已經找到一個有趣的小竅門可以加快第一步的速度:代替在一台非常強大的電腦上儲存全部的索引頁,GOOGLE用成百上千台電腦做這份工作。因為任務被分給很多電腦,發現回應的速度更多。舉例說明:假如一本書的索引有30頁那麼長,一個人需要在這些索引中找出他想找的資訊,那麼他每次查都要花費至少幾秒鐘的時間,但是現在我們把每個頁面的索引給不同的人會是什麼情況呢?30個人分別找索引肯定比一個人找全部的索引要快讓我們很多。相似地,GOOGLE分散它的資料給很多電腦能更快地找到相匹配的文件。
至於我們怎樣發現包含用戶索引串的頁面呢?讓我們回到我們的“CIVIL WAR”例子。單字“CIVIL”在文件3,8,22,56,68和92中,單字“WAR”在文件2,8,15,22,68和77中。讓我們寫下來這些文件找一下同時含有兩個單字的文件。
CIVIL 3 8 22 56 68 92
WAR 2 8 15 22 68 77
BOTH WORDS 8 22 68
按這個方法排列文件很清楚地看到單字“CIVIL”和“WAR”同時出現在文件8,22和68中。包括一個單字的文件列表我們叫做“POSTING LIST”,同時含有兩個單字的文件我們叫做“INTERSECTING A POSTING”。
排列結果
現在我們已經有了包含客人查詢串的一些頁面,那麼可以根據相關程度的條件去對他們進行排序了。GOOGLE在它的排名演算法中用了很多因素,這些因素當中,PAGERANK演算法可以是最出名的。PAGERANK考慮兩件事情:有多少其他網站的鏈結接到這個頁面。那些鏈結網站質量如果有5,6個從高質量的網站的鏈結鏈向你的網站,那麼價值要比很多不出名網站的鏈結要高上兩倍多。
但是除了PAGERANK,我們也利用很多其他的因素。例如假設一個文件包括單字“CIVIL”和“WAR”剛好相鄰,那麼它的相關度要高於討論“revolutionary war”,還有,假如一個頁面它的TITLE中包含“CIVIL WAR”,這就暗示著它的相關度要高於標題是“19th century american clothing”的內容. 同樣的方法,假如單字“CIVIL WAR”在頁面是出現幾次,這個頁面看起來會比只出現一次的頁面更像是和“CIVIL WAR”有關的。同樣的規律,GOOGLE盡力去找那些既著名又相關的頁面,假如兩個頁面有大致相同的資訊匹配程度,我們一般就會選有更多可信任的站點鏈結的那個網站。當然,我們也要經常評估那些鏈結很少或PR很低但是有其他的標示說明這個網站相關度更高的。例如一個網頁完全是講“CIVIL WAR”的,那麼它一般要比那些只是在一篇文章中提到了“CIVIL WAR”,更有用,既使那個著名網站是TIMES.COM。
一旦我們做出了一個文件列表並且給了他們分值,我們就按最高分是最好的匹配來排列,GOOGLE也做一些別的特殊工作盡力從每一個文件中摘錄-一些句子-高亮標明客人鍵入的單字。然後我們回到排列的URL,把那些小摘錄做為給客人的結果頁。
就像你看到的,運行一個搜索引擎要花很多電腦資源,對用戶鍵入的每一個搜索,需要超過500台電腦一起工作找到最好的文件,所有這一切只是半秒鐘的事。
MATT CUTTS是GOOGLE QUALITY GROUP的一個軟體工程師,他的工作就是讓好網站有好的排名,並且開發技術把不好的、欺騙性的站點清出搜尋結果。