搜尋引擎可以搜尋到那麼多東西的原因

  搜尋引擎***search engine***是指根據一定的策略、運用特定的計算機程式蒐集網際網路上的資訊,在對資訊進行組織和處理後,並將處理後的資訊顯示給使用者,是為使用者提供檢索服務的系統。搜尋引擎包括全文索引、目錄索引、元搜尋引擎、垂直搜尋引擎、集合式搜尋引擎、門戶搜尋引擎與免費連結列表等。百度和谷歌等是搜尋引擎的代表。

  現在,人們把越來越多的內容放在網際網路上,據估計,在網際網路上有數萬億的獨立Web頁面。那麼,如何在這些海量的內容中獲得需要的資訊呢?人們發明了網際網路搜尋引擎來解決這個問題。我們知道,當用戶在百度、谷歌或者必應等搜尋引擎中輸入關鍵字時,它們會找到包含關鍵字的Web 頁面的連結,並按一定的順序呈現給使用者。那麼,搜尋引擎是怎樣幫我們在網上搜索資訊的呢?


搜尋引擎

  

  一般說來,搜尋引擎的工作大概分為三個部分。第一個部分稱為資訊抓取。搜尋引擎使用被稱為“網路爬蟲”的程式來抓取網頁上的所有連結。由於網際網路的特性,大多數Web 頁面都可以通過其他頁面的連結得到訪問。從理論上說,自有限的少數Web 頁面出發,網路爬蟲可以訪問絕大多數的Web 網頁。想象一下,我們可以把網際網路看成一個巨大的蜘蛛網,交叉點是Web頁面,交叉點之間的蛛絲是連結,爬蟲從一個交叉點出發,沿著蛛絲就可以到達任何一個交叉點。

  找到了Web 頁面後,搜尋引擎會開始它的第二部分工作:建立索引。簡單說來,就是搜尋引擎從Web 頁面中提取關鍵字,並把頁面資訊甚至是整個頁面的內容按照一定的規則儲存在自己的資料庫裡。這樣做的目的是使得資訊能夠儘快被找到,如果搜尋引擎只是簡單地把頁面無規律地存放的話,每次檢索都要遍歷所有儲存的資訊,那就失去了搜尋引擎的意義了。

  舉例來說,如果搜尋引擎要為一個介紹動畫片《西遊記》的頁面建立索引,那麼“孫悟空”、“西遊記”、“唐僧”、“吳承恩”等詞一般都會成為該頁面索引的一部分。值得一提的是,由於中文的特殊性***英文以詞為單位,詞和詞之間用空格分隔,中文以字為單位,詞和詞之間沒有明顯的分隔***,在提取關鍵字之前,一般還要對頁面進行分詞處理。

  完成了前兩部分工作,搜尋引擎就可以向用戶提供搜尋服務了。搜尋引擎拿到使用者輸入的關鍵字,檢索自己的資料庫,並把呈現出的搜尋結果頁面展示給使用者。比如說,我們搜尋“孫悟空”時,由於在建立索引時,動畫片《西遊記》的頁面特徵已經被存放到資料庫中了,那麼就可以通過“孫悟空”索引,把該頁面的連結返回給使用者。此外,返回的結果也會包含其他結果,例如連環畫《西遊記》的頁面、書籍《西遊記》的頁面等。