互聯(lián)網(wǎng)發(fā)展的今天,一方面離不開其開放、共享的特性帶給人們的全新體驗,另一方面也離不開數(shù)以億計的為其提供各類豐富內(nèi)容的網(wǎng)絡(luò)節(jié)點。互聯(lián)網(wǎng)被普及前,人們查閱資料第一想到的便是擁有大量書籍資料的圖書館,到了今天你怎么想?或許今天的很多人都會選擇一種更方便、快捷、全面、準確的方式——互聯(lián)網(wǎng)。你可以坐在家里輕點幾下鼠標就查到想要的各類信息,這在互聯(lián)網(wǎng)沒有被普及之前,還都僅是一個夢而已,但如今這一切已成為了可能。
而幫助你通過整個互聯(lián)網(wǎng)快速查找到目標信息的就是越來越被重視的搜索引擎。有關(guān)搜索引擎的技術(shù)資料網(wǎng)絡(luò)上已經(jīng)很多,關(guān)于搜索引擎經(jīng)濟的多方面報道各大媒體也都已經(jīng)鋪天蓋地,因此在這里小編并不想過多的談?wù)撨@些方面的感受,只想在本次“中文搜索引擎技術(shù)揭密”系列文章全部完成之際來聊一下搜索引擎對小編的深遠影響。
記得2000年左右網(wǎng)絡(luò)上開始大量出現(xiàn)免費個人主頁空間,當時的小編還只是一個剛剛進入IT圈的小朋友,看著這些空間那叫一個口水橫流,于是乎立刻申請了一個。又經(jīng)過了一個多月的刻苦修煉和先后三次的改版,自己有生以來的第一個個人主頁誕生了。可看著每天寥寥無幾的訪問量,心里那叫一個難受,可一時間也想不到好辦法解決問題。突然有天發(fā)現(xiàn)一篇介紹如何在搜索引擎注冊自己個人網(wǎng)站的文章,于是小編就照著文章所講的分別在SOHU、網(wǎng)易等搜索引擎的相關(guān)分類目錄下注冊了自己的個人主頁。直至今日,小編才確切的知道了當時盛行的搜索引擎都屬“目錄搜索引擎”。這實際上是小編第一次使用、認識搜索引擎,再后來通過每天個人主頁不斷上升的數(shù)字小編感覺到了搜索引擎的神奇。
其實正是由于搜索引擎,才使小編的個人主頁被更多的人所熟識,以至于后來有多份工作都是因為這個個人主頁所帶來的機會。其實這些經(jīng)歷或許很多人都有切身的體會,同樣也有很多人因此去全身投入到互聯(lián)網(wǎng)工作中。這正像那句話講的“世界真奇妙,不看不知道”,小編在此多加一句“到底怎么看,搜索引擎幫你忙!”
互聯(lián)網(wǎng)在近10年的得到飛速發(fā)展,互聯(lián)網(wǎng)正在逐漸深入人們的生活,改變?nèi)藗兊纳睢;ヂ?lián)網(wǎng)經(jīng)濟也經(jīng)歷了風風雨雨,從緩慢起步到急速膨脹,從泡沫破滅到逐步回暖;從“網(wǎng)絡(luò)廣告”到“拇指經(jīng)濟”,從“網(wǎng)絡(luò)游戲”到“搜索力經(jīng)濟”。目前,搜索引擎成為最受人們關(guān)注的焦點之一,也成為億萬富翁的制造搖籃。越來越多的公司都希望在搜索引擎這座金礦中挖到筐金子,其中許多人會選擇擁有自己的搜索引擎。國內(nèi)著名搜索引擎公司百度(http://www.baidu.com)總裁李彥宏說:搜索引擎不是人人都能做的領(lǐng)域,進入的門檻比較高。
搜索引擎的門檻到底有多高?搜索引擎的門檻主要是技術(shù)門檻,包括網(wǎng)頁數(shù)據(jù)的快速采集、海量數(shù)據(jù)的索引和存儲、搜索結(jié)果的相關(guān)性排序、搜索效率的毫秒級要求、分布式處理和負載均衡、自然語言的理解技術(shù)等等,這些都是搜索引擎的門檻。對于一個復雜的系統(tǒng)來說,各方面的技術(shù)固然重要,但整個系統(tǒng)的架構(gòu)設(shè)計也同樣不可忽視,搜索引擎也不例外。
搜索引擎技術(shù)和分類
搜索引擎的技術(shù)基礎(chǔ)是全文檢索技術(shù),從20世紀60年代,國外對全文檢索技術(shù)就開始有研究。全文檢索通常指文本全文檢索,包括信息的存儲、組織、表現(xiàn)、查詢、存取等各個方面,其核心為文本信息的索引和檢索,一般用于企事業(yè)單位。隨著互聯(lián)網(wǎng)信息的發(fā)展,搜索引擎在全文檢索技術(shù)上逐漸發(fā)展起來,并得到廣泛的應(yīng)用,但搜索引擎還是不同于全文檢索。搜索引擎和常規(guī)意義上的全文檢索主要區(qū)別有以下幾點:
1、數(shù)據(jù)量
傳統(tǒng)全文檢索系統(tǒng)面向的是企業(yè)本身的數(shù)據(jù)或者和企業(yè)相關(guān)的數(shù)據(jù),一般索引庫規(guī)模多在GB級,數(shù)據(jù)量大的也只有幾百萬條;但互聯(lián)網(wǎng)網(wǎng)頁搜索需要處理幾十億的網(wǎng)頁,搜索引擎的策略都是采用服務(wù)器群集和分布式計算技術(shù)。
2、內(nèi)容相關(guān)性
信息太多,查準和排序就特別重要,Google等搜索引擎采用網(wǎng)頁鏈接分析技術(shù),根據(jù)互聯(lián)網(wǎng)上網(wǎng)頁被鏈接次數(shù)作為重要性評判的依據(jù);但全文檢索的數(shù)據(jù)源中相互鏈接的程度并不高,不能作為判別重要性的依據(jù),只能基于內(nèi)容的相關(guān)性排序。
3、安全性
互聯(lián)網(wǎng)搜索引擎的數(shù)據(jù)來源都是互聯(lián)網(wǎng)上公開的信息,而且除了文本正文以外,其它信息都不太重要;但企業(yè)全文檢索的數(shù)據(jù)源都是企業(yè)內(nèi)部的信息,有等級、權(quán)限等限制,對查詢方式也有更嚴格的要求,因此其數(shù)據(jù)一般會安全和集中地存放在數(shù)據(jù)倉庫中以保證數(shù)據(jù)安全和管理的要求。
4、個性化和智能化
搜索引擎面向的是互聯(lián)網(wǎng)訪問者,由于其數(shù)據(jù)量和客戶數(shù)量的限制,自然語言處理技術(shù)、知識檢索、知識挖掘等計算密集的智能計算技術(shù)很難應(yīng)用,這也是目前搜索引擎技術(shù)努力的方向;而全文檢索數(shù)據(jù)量小,檢索需求明確,客戶量少,在智能化和個性可走得更遠。
搜索引擎與全文檢索除了以上的區(qū)別外,還結(jié)合互聯(lián)網(wǎng)信息的特點形成了三個不同的類型:
全文檢索搜索引擎:全文搜索引擎是名副其實的搜索引擎,國外具代表性的有Google (http://www.google.com) 、yahoo(http://search.yahoo.com) 、AllTheWeb (http://www.alltheweb.com ) 等,國內(nèi)著名的有百度(http://www.Baidu.com)、中搜(http://www.zhongsou.com)。它們都是通過從互聯(lián)網(wǎng)上提取的各個網(wǎng)站的信息(以網(wǎng)頁文字為主)而建立的數(shù)據(jù)庫,檢索與用戶查詢條件匹配的相關(guān)記錄,然后按一定的排列順序?qū)⒔Y(jié)果返回給用戶,也是目前常規(guī)意義上的搜索引擎。
目錄搜索引擎:目錄索引雖然有搜索功能,但在嚴格意義上算不上是真正的搜索引擎,僅僅是按目錄分類的網(wǎng)站鏈接列表而已。用戶完全可以不用進行關(guān)鍵詞查詢,僅靠分類目錄也可找到需要的信息。國外比較著名的目錄索引搜索引擎有yahoo(http://www.yahoo.com)Open Directory Project(DMOZ)(http://www.dmoz.com/)、LookSmart(http://www.looksmart.com)等。國內(nèi)的搜狐(http://www.sohu.com)、新浪(http://www.sina.com)、網(wǎng)易(http://www.163.com)搜索也都具有這一類功能。
元搜索引擎:元搜索引擎在接受用戶查詢請求時,同時在其它多個引擎上進行搜索,并將結(jié)果返回給用戶。著名的元搜索引擎有Dogpile(http://www.dogpile.com)、Vivisimo(http://www.vivisimo.com)等,國內(nèi)元搜索引擎中具代表性的有搜星搜索引擎(http://www.soseen.com/),優(yōu)客搜索(http://www.yok.com)。在搜索結(jié)果排列方面,有的直接按來源引擎排列搜索結(jié)果,如Dogpile,有的則按自定的規(guī)則將結(jié)果重新排列組合,如Vivisimo。
其他的像新浪(http://search.sina.com.cn)、網(wǎng)易(http://search.163.com)、A9(http://www.A9.com)等搜索引擎都是調(diào)用其它全文檢索搜索引擎,或者在其搜索結(jié)果的基礎(chǔ)上做了二次開發(fā)。
搜索引擎的系統(tǒng)架構(gòu)
這里主要針對全文檢索搜索引擎的系統(tǒng)架構(gòu)進行說明,下文中提到的搜索引擎如果沒有特殊說明也是指全文檢索搜索引擎。搜索引擎的實現(xiàn)原理,可以看作四步:從互聯(lián)網(wǎng)上抓取網(wǎng)頁→建立索引數(shù)據(jù)庫→在索引數(shù)據(jù)庫中搜索→對搜索結(jié)果進行處理和排序。
1、從互聯(lián)網(wǎng)上抓取網(wǎng)頁
利用能夠從互聯(lián)網(wǎng)上自動收集網(wǎng)頁的網(wǎng)絡(luò)蜘蛛程序,自動訪問互聯(lián)網(wǎng),并沿著任何網(wǎng)頁中的所有URL爬到其它網(wǎng)頁,重復這過程,并把爬過的所有網(wǎng)頁收集到服務(wù)器中。
2、建立索引數(shù)據(jù)庫
由索引系統(tǒng)程序?qū)κ占貋淼木W(wǎng)頁進行分析,提取相關(guān)網(wǎng)頁信息(包括網(wǎng)頁所在URL、編碼類型、頁面內(nèi)容包含的關(guān)鍵詞、關(guān)鍵詞位置、生成時間、大小、與其它網(wǎng)頁的鏈接關(guān)系等),根據(jù)一定的相關(guān)度算法進行大量復雜計算,得到每一個網(wǎng)頁針對頁面內(nèi)容中及超鏈中每一個關(guān)鍵詞的相關(guān)度(或重要性),然后用這些相關(guān)信息建立網(wǎng)頁索引數(shù)據(jù)庫。
3、在索引數(shù)據(jù)庫中搜索
當用戶輸入關(guān)鍵詞搜索后,分解搜索請求,由搜索系統(tǒng)程序從網(wǎng)頁索引數(shù)據(jù)庫中找到符合該關(guān)鍵詞的所有相關(guān)網(wǎng)頁。
4、對搜索結(jié)果進行處理排序
所有相關(guān)網(wǎng)頁針對該關(guān)鍵詞的相關(guān)信息在索引庫中都有記錄,只需綜合相關(guān)信息和網(wǎng)頁級別形成相關(guān)度數(shù)值,然后進行排序,相關(guān)度越高,排名越靠前。最后由頁面生成系統(tǒng)將搜索結(jié)果的鏈接地址和頁面內(nèi)容摘要等內(nèi)容組織起來返回給用戶。
下圖是一個典型的搜索引擎系統(tǒng)架構(gòu)圖,搜索引擎的各部分都會相互交錯相互依賴。其處理流程按照如下描述:
“網(wǎng)絡(luò)蜘蛛”從互聯(lián)網(wǎng)上抓取網(wǎng)頁,把網(wǎng)頁送入“網(wǎng)頁數(shù)據(jù)庫”,從網(wǎng)頁中“提取URL”,把URL送入“URL數(shù)據(jù)庫”,“蜘蛛控制”得到網(wǎng)頁的URL,控制“網(wǎng)絡(luò)蜘蛛”抓取其它網(wǎng)頁,反復循環(huán)直到把所有的網(wǎng)頁抓取完成。
系統(tǒng)從“網(wǎng)頁數(shù)據(jù)庫”中得到文本信息,送入“文本索引”模塊建立索引,形成“索引數(shù)據(jù)庫”。同時進行“鏈接信息提取”,把鏈接信息(包括錨文本、鏈接本身等信息)送入“鏈接數(shù)據(jù)庫”,為“網(wǎng)頁評級”提供依據(jù)。
“用戶”通過提交查詢請求給“查詢服務(wù)器”,服務(wù)器在“索引數(shù)據(jù)庫”中進行相關(guān)網(wǎng)頁的查找,同時“網(wǎng)頁評級”把查詢請求和鏈接信息結(jié)合起來對搜索結(jié)果進行相關(guān)度的評價,通過“查詢服務(wù)器”按照相關(guān)度進行排序,并提取關(guān)鍵詞的內(nèi)容摘要,組織最后的頁面返回給“用戶”。
搜索引擎的索引和搜索
對于網(wǎng)絡(luò)蜘蛛技術(shù)和排序技術(shù)請參考作者其它文章[1][2],這里以Google搜索引擎為例主要介紹搜索引擎的數(shù)據(jù)索引和搜索過程。
數(shù)據(jù)的索引分為三個步驟:網(wǎng)頁內(nèi)容的提取、詞的識別、標引庫的建立。
互聯(lián)網(wǎng)上大部分信息都是以HTML格式存在,對于索引來說,只處理文本信息。因此需要把網(wǎng)頁中文本內(nèi)容提取出來,過濾掉一些腳本標示符和一些無用的廣告信息,同時記錄文本的版面格式信息[1]。詞的識別是搜索引擎中非常關(guān)鍵的一部分,通過字典文件對網(wǎng)頁內(nèi)的詞進行識別。對于西文信息來說,需要識別詞的不同形式,例如:單復數(shù)、過去式、組合詞、詞根等,對于一些亞洲語言(中文、日文、韓文等)需要進行分詞處理[3]。識別出網(wǎng)頁中的每個詞,并分配唯一的wordID號,用于為數(shù)據(jù)索引中的標引模塊服務(wù)。
標引庫的建立是數(shù)據(jù)索引中結(jié)構(gòu)最復雜的一部分。一般需要建立兩種標引:文檔標引和關(guān)鍵詞標引。文檔標引分配每個網(wǎng)頁一個唯一的docID號,根據(jù)docID標引出在這個網(wǎng)頁中出現(xiàn)過多少過wordID,每個wordID出現(xiàn)的次數(shù)、位置、大小寫格式等,形成docID對應(yīng)wordID的數(shù)據(jù)列表;關(guān)鍵詞標引其實是對文檔標引的逆標引,根據(jù)wordID標引出這個詞出現(xiàn)在那些網(wǎng)頁(用wordID表示),出現(xiàn)在每個網(wǎng)頁的次數(shù)、位置、大小寫格式等,形成wordID對應(yīng)docID的列表。
關(guān)于索引數(shù)據(jù)的詳細數(shù)據(jù)結(jié)構(gòu),有興趣的朋友可以參看文獻[4]。
搜索的處理過程是對用戶的搜索請求進行滿足的過程,通過用戶輸入搜索關(guān)鍵字,搜索服務(wù)器對應(yīng)關(guān)鍵詞字典,把搜索關(guān)鍵詞轉(zhuǎn)化為wordID,然后在標引庫中得到docID列表,對docID列表進行掃描和wordID的匹配,提取滿足條件的網(wǎng)頁,然后計算網(wǎng)頁和關(guān)鍵詞的相關(guān)度,根據(jù)相關(guān)度的數(shù)值返回前K篇結(jié)果(不同的搜索引擎每頁的搜索結(jié)果數(shù)不同)返回給用戶。如果用戶查看的第二頁或者第多少頁,重新進行搜索,把排序結(jié)果中在第K+1到2*K的網(wǎng)頁組織返回給用戶。其處理流程如下圖所示:
搜索引擎細化趨勢
隨著搜索引擎市場空間越來越大,搜索引擎也分得越來越細。互聯(lián)網(wǎng)沒有國界,百度總裁李彥宏所講:搜索引擎市場是贏家通吃的市場。如果一個搜索引擎要想在搜索市場上有自己的一席之地,必須擁有自己的特色。而且,數(shù)以億計的網(wǎng)民,搜索需求不可能都一樣,不同類型的用戶需要不同類型的搜索引擎,網(wǎng)頁搜索只是搜索需求中的一種,這就決定了搜索引擎會不斷細化,各具特色的搜索引擎也陸續(xù)出現(xiàn)。
從技術(shù)上講,各種搜索引擎都具有類似的系統(tǒng)架構(gòu),其不同在于搜索的數(shù)據(jù)源的不同。除了上面提到的網(wǎng)頁搜索引擎以外,下面列舉幾個典型的搜索引擎:
新聞搜索引擎
看新聞是許多網(wǎng)民上網(wǎng)的主要目的,新聞搜索也就成了查看新聞的重要工具。新聞搜索引擎實現(xiàn)的過程比較簡單,一般是掃描國內(nèi)外有名的新聞網(wǎng)站,抓取新聞網(wǎng)頁,建立自己的新聞數(shù)據(jù)庫,然后提供搜索,只是對新聞網(wǎng)頁抓取的頻率要求很高,有的需要做到幾分鐘掃描一次。現(xiàn)在許多大型的網(wǎng)頁搜索引擎都提供相應(yīng)的新聞搜索功能,如:Google新聞搜索(http://news.google.com),中搜新聞搜索(http://news.zhongsou.com),百度新聞搜索(http://news.baidu.com)等。
音樂搜索引擎
有了互聯(lián)網(wǎng)以后,音樂得到了廣泛的傳播,對于喜歡音樂的網(wǎng)民來說,音樂搜索引擎成了最鐘愛的工具。音樂搜索引擎需要監(jiān)控互聯(lián)網(wǎng)上大型的音樂網(wǎng)站,抓取其音樂數(shù)據(jù)的描述信息,形成自己的數(shù)據(jù)庫,音樂的下載和試聽都會在其原來的音樂網(wǎng)站上進行。目前有:搜刮網(wǎng)(http://www.sougua.com),百度mp3搜索(http://mp3.baidu.com),1234567搜索(http://www.1234567.com)等。
圖像搜索引擎
通過圖像搜索引擎可以找到自己感興趣的圖片鏈接,各大搜索引擎也提供了圖像搜索功能。圖像文件本身不能夠被搜索引擎索引,但搜索引擎可以通過鏈接文本分析和圖片注解等得到圖片的信息。目前有:Google圖像搜索(http://images.google.com/),VisionNext搜索(http://www.eefind.com),百度圖像搜索(http://images.baidu.com)等。
商機搜索引擎
電子商務(wù)一直是互聯(lián)網(wǎng)的熱點,商機搜索對電子商務(wù)的發(fā)展也起到了巨大的推動作用,商機搜索讓互聯(lián)網(wǎng)經(jīng)濟和傳統(tǒng)經(jīng)營緊密結(jié)合在一起,給傳統(tǒng)的企業(yè)提供了一個新的銷售模式。商機搜索引擎,通過抓取電子商務(wù)網(wǎng)站的商品信息和其他商業(yè)信息,給訪問者提供統(tǒng)一的搜索平臺。目前有:soaso價格搜索引擎(http://www.soaso.com),8848購物搜索(http://www.8848.com),阿里巴巴商機搜索(http://www.alibaba.com)等。
其他特色的搜索引擎還有專利搜索、軟件搜索、ftp搜索、游戲搜索、法律搜索等等。
|