王姣+徐海霞
摘要:搜索引擎作為互聯(lián)網(wǎng)發(fā)展中至關(guān)重要的一種應(yīng)用,是獲取網(wǎng)絡(luò)信息資源的重要工具。搜索引擎是一個(gè)復(fù)雜的網(wǎng)絡(luò)應(yīng)用系統(tǒng),本文從工具應(yīng)用的角度,采用圖表方式,介紹了搜索引擎的體系結(jié)構(gòu),分析其工作原理,重點(diǎn)探討其核心部分——索引庫的建立和搜索結(jié)果的排序。
關(guān)鍵詞:搜索引擎;索引庫;排序
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)25-0165-02
網(wǎng)頁己經(jīng)成為人們獲取和發(fā)布信息的重要媒介。雖然網(wǎng)頁給我們帶來獲取信息的方便,但如此海量的網(wǎng)絡(luò)信息,很難用瀏覽的方式找到真正需要的信息。于是搜索引擎應(yīng)運(yùn)而生,并且成為Internet上非常重要的網(wǎng)絡(luò)導(dǎo)航服務(wù)工具。
1 搜索引擎體系結(jié)構(gòu)
搜索引擎基本結(jié)構(gòu)一般包括:搜索器、索引器、檢索器、用戶接口等四個(gè)功能模塊。
1)搜索器,也叫網(wǎng)絡(luò)蜘蛛,是搜索引擎用來爬行和抓取網(wǎng)頁的一個(gè)自動(dòng)程序,在系統(tǒng)后臺(tái)不停歇地在互聯(lián)網(wǎng)各個(gè)節(jié)點(diǎn)爬行,在爬行過程中盡可能快的發(fā)現(xiàn)和抓取網(wǎng)頁。
2)索引器。它的主要功能是理解搜索器所采集的網(wǎng)頁信息,并從中抽取索引項(xiàng)。
3)檢索器。其功能是快速查找文檔,進(jìn)行文檔與查詢的相關(guān)度評(píng)價(jià),對(duì)要輸出的結(jié)果進(jìn)行排序。
4)用戶接口。它為用戶提供可視化的查詢輸入和結(jié)果輸出的界面。
2 搜索引擎的工作原理
根據(jù)技術(shù)原理,可將多元化的搜索引擎歸為三大主要類型,即全文搜索引擎、基于目錄索引型(catalog)和元(meta)搜索引擎。其中,基于全文的robot搜索引擎原理具有典型性、普遍性。
robot的全文搜索引擎的技術(shù)基礎(chǔ)文是全文檢索技術(shù)?;谌牡膔obot搜索引擎實(shí)際上是全文檢索技術(shù)的一種應(yīng)用。一搜索引擎是架構(gòu)在衡量搜索引擎的優(yōu)劣標(biāo)準(zhǔn)體系范圍之上的。衡量搜索引擎的評(píng)價(jià)指標(biāo),包括數(shù)據(jù)庫模和內(nèi)容、索引方法、檢索功能、檢索結(jié)果、用戶界面等。隨著互聯(lián)網(wǎng)的深度發(fā)展,主流的搜索引擎設(shè)計(jì)更看重查詢時(shí)間,能實(shí)現(xiàn)即時(shí)互動(dòng)。
搜索引擎實(shí)際工作過程是極其繁雜的,圖1所示是其工作過程簡化圖。便于梳理和理解,可將其整個(gè)工作過程視為三個(gè)部分:一是蜘蛛在互聯(lián)網(wǎng)上爬行和抓取網(wǎng)頁信息,并存入原始網(wǎng)頁數(shù)據(jù)庫;二是對(duì)原始網(wǎng)頁數(shù)據(jù)庫中的信息進(jìn)行提取和組織,并建立索引庫;三是根據(jù)用戶輸入的關(guān)鍵詞,快速找到相關(guān)文檔,并對(duì)找到的結(jié)果進(jìn)行排序,并將查詢結(jié)果返回給用戶。下面對(duì)其工作原理做進(jìn)一步分析。
1)網(wǎng)頁抓取
Spider每遇到一個(gè)新文檔,都要搜索其頁面的鏈接網(wǎng)頁。搜索引擎蜘蛛訪問web頁面的過程類似普通用戶使用瀏覽器訪問其頁面,即 B/S模式。引擎蜘蛛先向頁面提出訪問請(qǐng)求,服務(wù)器接受其訪問請(qǐng)求并返回HTML代碼后,把獲取的HTML代碼存入原始頁面數(shù)據(jù)庫。搜索引擎使用多個(gè)蜘蛛分布爬行以提高爬行速度。搜索引擎的服務(wù)器遍布世界各地,每一臺(tái)服務(wù)器都會(huì)派出多只蜘蛛同時(shí)去抓取網(wǎng)頁。如何做到一個(gè)頁面只訪問一次,從而提高搜索引擎的工作效率。在抓取網(wǎng)頁時(shí),搜索引擎會(huì)建立兩張不同的表,一張表記錄已經(jīng)訪問過的網(wǎng)站,一張表記錄沒有訪問過的網(wǎng)站。當(dāng)蜘蛛抓取某個(gè)外部鏈接頁面URL的時(shí)候,需把該網(wǎng)站的URL下載回來分析,當(dāng)蜘蛛全部分析完這個(gè)URL后,將這個(gè)URL存入相應(yīng)的表中,這時(shí)當(dāng)另外的蜘蛛從其他的網(wǎng)站或頁面又發(fā)現(xiàn)了這個(gè)URL時(shí),它會(huì)對(duì)比看看已訪問列表有沒有,如果有,蜘蛛會(huì)自動(dòng)丟棄該URL,不再訪問。
2)預(yù)處理,建立索引
為了便于用戶在數(shù)萬億級(jí)別以上的原始網(wǎng)頁數(shù)據(jù)庫中快速便捷地找到搜索結(jié)果,搜索引擎必須將spider抓取的原始web頁面做預(yù)處理。
網(wǎng)頁預(yù)處理最主要過程是為網(wǎng)頁建立全文索引,之后開始分析網(wǎng)頁,最后建立倒排文件(也稱反向索引)。如圖2所示。
Web頁面分析有以下步驟:判斷網(wǎng)頁類型,衡量其重要程度,豐富程度,對(duì)超鏈接進(jìn)行分析,分詞,把重復(fù)網(wǎng)頁去掉。
經(jīng)過搜索引擎分析處理后,web網(wǎng)頁已經(jīng)不再是原始的網(wǎng)頁頁面,而是濃縮成能反映頁面主題內(nèi)容的、以詞為單位的文檔。數(shù)據(jù)索引中結(jié)構(gòu)最復(fù)雜的是建立索引庫,索引又分為文檔索引和關(guān)鍵詞索引。每個(gè)網(wǎng)頁唯一的docID號(hào)是有文檔索引分配的,每個(gè)wordID出現(xiàn)的次數(shù)、位置、大小格式都可以根據(jù)docID 號(hào)在網(wǎng)頁中檢索出來。最終形成wordID的數(shù)據(jù)列表。
倒排索引形成過程是這樣的:搜索引擎用分詞系統(tǒng)將文檔自動(dòng)切分成單詞序列-對(duì)每個(gè)單詞賦予唯一的單詞編號(hào)-記錄包含這個(gè)單詞的文檔。
倒排索引是最簡單的,實(shí)用的倒排索引還需記載更多的信息。在單詞對(duì)應(yīng)的倒排列表除了記錄文檔編號(hào)之外,單詞頻率信息也被記錄進(jìn)去,便于以后計(jì)算查詢和文檔的相似度。
3)查詢服務(wù)
在搜索引擎界面輸入關(guān)鍵詞,點(diǎn)擊“搜索”按鈕之后,搜索引擎程序開始對(duì)搜索詞進(jìn)行以下處理:分詞處理、根據(jù)情況對(duì)整合搜索是否需要啟動(dòng)進(jìn)行判斷、找出錯(cuò)別字和拼寫中出現(xiàn)的錯(cuò)誤、把停止詞去掉。接著搜索引擎程序便把包含搜索詞的相關(guān)網(wǎng)頁從索引數(shù)據(jù)庫中找出,而且對(duì)網(wǎng)頁進(jìn)行排序,最后按照一定格式返回到“搜索”頁面。
查詢服務(wù)最核心的部分是搜索結(jié)果排序,其決定了搜索引擎的量好壞及用戶滿意度。實(shí)際搜索結(jié)果排序的因子很多,但最主要的因素之一是網(wǎng)頁內(nèi)容的相關(guān)度。影響相關(guān)性的主要因素包括如下五個(gè)方面。
(1)關(guān)鍵詞常用程度。經(jīng)過分詞后的多個(gè)關(guān)鍵詞,對(duì)整個(gè)搜索字符串的意義貢獻(xiàn)并不相同。越常用的詞對(duì)搜索詞的意義貢獻(xiàn)越小,越不常用的詞對(duì)搜索詞的意義貢獻(xiàn)越大。常用詞發(fā)展到一定極限就是停止詞,對(duì)頁面不產(chǎn)生任何影響。所以搜索引擎用的詞加權(quán)系數(shù)高,常用詞加權(quán)系數(shù)低,排名算法更多關(guān)注的是不常用的詞。
(2)詞頻及密度。通常情況下,搜索詞的密度和其在頁面中出現(xiàn)的次數(shù)成正相關(guān),次數(shù)越多,說明密度越大,頁面與搜索詞關(guān)系越密切。
(3)關(guān)鍵詞位置及形式。關(guān)鍵詞出現(xiàn)在比較重要的位置,如標(biāo)題標(biāo)簽、黑體、H1等,說明頁面與關(guān)鍵詞越相關(guān)。在索引庫的建立中提到的,頁面關(guān)鍵詞出現(xiàn)的格式和位置都被記錄在索引庫中。
(4)關(guān)鍵詞距離。關(guān)鍵詞被切分之后,如果匹配的出現(xiàn),說明其與搜索詞相關(guān)程度越大,當(dāng)“搜索引擎”在頁面上連續(xù)完整的出現(xiàn)或者“搜索”和“引擎”出現(xiàn)的時(shí)候距離比較近,都被認(rèn)為其與搜索詞相關(guān)。
(5)鏈接分析及頁面權(quán)重。頁面之間的鏈接和權(quán)重關(guān)系也影響關(guān)鍵詞的相關(guān)性,其中最重要的是錨文字。頁面有越多以搜索詞為錨文字的導(dǎo)入鏈接,說明頁面的相關(guān)性越強(qiáng)。鏈接分析還包括了鏈接源頁面本身的主題、錨文字周圍的文字等。
3 結(jié)尾語
基于全文檢索技術(shù)在搜索引擎中應(yīng)用至今,已經(jīng)比較完善和成熟,但是隨著人類知識(shí)的進(jìn)步,查詢用戶將會(huì)對(duì)搜索引擎提出新的要求?;趦?nèi)容特征的多媒體搜索引擎在多媒體通信需求下應(yīng)運(yùn)而生,它是直接對(duì)媒體內(nèi)容特征和上下文語義環(huán)境進(jìn)行的檢索。同時(shí),還有智能搜索引擎,是以人的自然語言技術(shù)為基礎(chǔ),對(duì)人腦中的知識(shí)有一定的理解與處理能力。智能搜索引擎的出現(xiàn),將信息檢索從目前基于關(guān)鍵詞的層面提高到基于知識(shí)的層面。以上新型搜索引擎處于開發(fā)初期,普及應(yīng)用尚待完善。
參考文獻(xiàn):
[1] 任鵬杰,陳竹敏,馬軍.一種綜合語義和時(shí)效性意圖的檢索結(jié)果多樣化方法[J].計(jì)算機(jī)學(xué)報(bào),2015,38(10):76-91.
[2] 楊同峰,馬軍.圖像的二維標(biāo)注及在圖像檢索中的應(yīng)用[J].模式識(shí)別與人工智能, 2013,26(1):70-75.
[3] 高玉良,張濟(jì)強(qiáng),白瑤.基于Lucene的多索引搜索的研究與應(yīng)用[J].電腦知識(shí)與應(yīng)用,2012(8):1471-75.