搜索引擎可以搜索到那么多東西的原因
搜索引擎(search engine)是指根據(jù)一定的策略、運用特定的計算機程序搜集互聯(lián)網(wǎng)上的信息,在對信息進行組織和處理后,并將處理后的信息顯示給用戶,是為用戶提供檢索服務(wù)的系統(tǒng)。搜索引擎包括全文索引、目錄索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、門戶搜索引擎與免費鏈接列表等。百度和谷歌等是搜索引擎的代表。
現(xiàn)在,人們把越來越多的內(nèi)容放在互聯(lián)網(wǎng)上,據(jù)估計,在互聯(lián)網(wǎng)上有數(shù)萬億的獨立Web頁面。那么,如何在這些海量的內(nèi)容中獲得需要的信息呢?人們發(fā)明了互聯(lián)網(wǎng)搜索引擎來解決這個問題。我們知道,當(dāng)用戶在百度、谷歌或者必應(yīng)等搜索引擎中輸入關(guān)鍵字時,它們會找到包含關(guān)鍵字的Web 頁面的鏈接,并按一定的順序呈現(xiàn)給用戶。那么,搜索引擎是怎樣幫我們在網(wǎng)上搜索信息的呢?
搜索引擎
搜索引擎可以搜索到那么多東西的原因
一般說來,搜索引擎的工作大概分為三個部分。第一個部分稱為信息抓取。搜索引擎使用被稱為“網(wǎng)絡(luò)爬蟲”的程序來抓取網(wǎng)頁上的所有鏈接。由于互聯(lián)網(wǎng)的特性,大多數(shù)Web 頁面都可以通過其他頁面的鏈接得到訪問。從理論上說,自有限的少數(shù)Web 頁面出發(fā),網(wǎng)絡(luò)爬蟲可以訪問絕大多數(shù)的Web 網(wǎng)頁。想象一下,我們可以把互聯(lián)網(wǎng)看成一個巨大的蜘蛛網(wǎng),交叉點是Web頁面,交叉點之間的蛛絲是鏈接,爬蟲從一個交叉點出發(fā),沿著蛛絲就可以到達任何一個交叉點。
找到了Web 頁面后,搜索引擎會開始它的第二部分工作:建立索引。簡單說來,就是搜索引擎從Web 頁面中提取關(guān)鍵字,并把頁面信息甚至是整個頁面的內(nèi)容按照一定的規(guī)則保存在自己的數(shù)據(jù)庫里。這樣做的目的是使得信息能夠盡快被找到,如果搜索引擎只是簡單地把頁面無規(guī)律地存放的話,每次檢索都要遍歷所有保存的信息,那就失去了搜索引擎的意義了。
舉例來說,如果搜索引擎要為一個介紹動畫片《西游記》的頁面建立索引,那么“孫悟空”、“西游記”、“唐僧”、“吳承恩”等詞一般都會成為該頁面索引的一部分。值得一提的是,由于中文的特殊性(英文以詞為單位,詞和詞之間用空格分隔,中文以字為單位,詞和詞之間沒有明顯的分隔),在提取關(guān)鍵字之前,一般還要對頁面進行分詞處理。
完成了前兩部分工作,搜索引擎就可以向用戶提供搜索服務(wù)了。搜索引擎拿到用戶輸入的關(guān)鍵字,檢索自己的數(shù)據(jù)庫,并把呈現(xiàn)出的搜索結(jié)果頁面展示給用戶。比如說,我們搜索“孫悟空”時,由于在建立索引時,動畫片《西游記》的頁面特征已經(jīng)被存放到數(shù)據(jù)庫中了,那么就可以通過“孫悟空”索引,把該頁面的鏈接返回給用戶。此外,返回的結(jié)果也會包含其他結(jié)果,例如連環(huán)畫《西游記》的頁面、書籍《西游記》的頁面等。