每當我們需要查什麼資料或者新聞的時候,都會打開搜尋引擎,輸入詞組就可以直接搜出自己想要的內容。搜尋引擎不但能搜索出海量內容,而且搜索速度很快。它到底是怎麼工作的呢?這就要從兩個方面單獨來分析,一方面是為什麼搜尋引擎的速度這麼快,另一個方面就是搜尋引擎是怎麼搜到這麼多海量資源的。
書籍自古以來都是人類進步和文明的重要標誌之一,因為書籍可以不受時間、空間的限制,流傳和保存信息。在沒有網絡以前,書籍是我們獲取信息的主要工具。隨著網絡的普及,我們越來越多地通過網絡搜索信息,網絡成了獲取信息的主要渠道。截止到2012年4月,網際網路上被收錄的網頁已有五百多億個。如果按照一本書有500頁來估算,這就相當於一億冊圖書的信息量。
當我們在網上搜索一個詞語時,搜尋引擎會快速給我們展示結果。例如,我們在百度上搜索雞蛋一次,百度搜索結果有幾千萬個。搜尋引擎的伺服器是怎麼工作的?為什麼能在一瞬間搜索出這麼多結果?搜尋引擎是逐個打開檢索的網頁嗎?就算搜尋引擎的伺服器1秒鐘能夠打開並檢索1萬個網頁,這五百億的網頁就需要檢索將近兩個月。我們為了得到一個信息居然要等兩個月,這顯然不是搜尋引擎伺服器的工作方式。
伺服器能夠快速得出結果,是因為它利用了「關鍵詞索引」。伺服器會將所有網頁掃描一遍,然後為網頁中的每個詞語都建立一個跟這個詞語有關的關鍵詞索引。如果一個詞組在這個網頁中多次出現,那就建立同一個關鍵字的多個索引,這就形成了關鍵字索引表。這個關鍵字索引表可以查到包含這個關鍵字的網頁和位置。因為詞組數量有限,其數目要遠遠小於網頁數量。只要找到關鍵字的索引表之後,搜尋引擎就能將對應的網頁內容顯示出來。
人們越來越依賴網絡,所以就把越來越多的內容放在網際網路上。據估計,網際網路上有數萬億的獨立Web頁面,人們利用搜尋引擎從網際網路上獲取信息內容。我們知道了搜尋引擎利用關鍵字索引表,而關鍵字索引表又是用關鍵字索引建立的,關鍵字索引則是伺服器掃描網頁時檢索出關鍵字設立的。那麼搜尋引擎是怎麼自動完成這些工作的?
搜尋引擎的工作一般分三步完成:
一、 信息抓取。搜尋引擎用被稱為「網絡爬蟲」的程序來抓取網頁上的所有連結。因為網際網路上的網頁存在互通性,大多數網頁都可以通過其他頁面的連結訪問,網絡爬蟲就通過一個點爬遍大多數網際網路網頁。
二、 建立索引。搜尋引擎從網頁頁面中提取關鍵字,並把整個頁面信息內容按照一定的規則保存到自己的資料庫裡。
三、 結果顯示。因為伺服器早已經建立好了關鍵字索引,並把信息保存到了自己的資料庫,所以當我們搜索某個詞組時,伺服器只需要檢索自己的資料庫就可以了。
萬能的搜尋引擎像一個優秀的魔術師,讓苦於解開某個難題的我們瞬間找到了解鎖答案的鑰匙。相信隨著科技的進步,搜尋引擎能為我們提供更為便捷的信息檢索。
本作品為「科普中國-科學原理一點通」原創 轉載時務請註明出處
作者: 科學原理一點通 [責任編輯: 呂芮光]