網頁資料的快速採集、海量資料的索引和儲存、搜尋結果的相關性排序、搜尋效率的毫秒級要求、分布式處理和負載均衡、自然語言的理解技術
1、資料量
傳統全文檢索系統面向的是企業本身的資料或者和企業相關的資料,一般索引庫規模多在gb級,資料量大的也只有幾百萬條;但網際網路網頁搜尋需要處理幾十億的網頁,搜尋引擎的策略都是採用伺服器群集和分布式計算技術。
2、內容相關性
資訊太多,查準和排序就特別重要,google等搜尋引擎採用網頁鏈結分析技術,根據網際網路上網頁被鏈結次數作為重要性評判的依據;但全文檢索的資料來源中相互鏈結的程度並不高,不能作為判別重要性的依據,只能基於內容的相關性排序。
3、安全性
4、個性化和智慧型化
搜尋引擎面向的是網際網路訪問者,由於其資料量和客戶數量的限制,自然語言處理技術、知識檢索、知識挖掘等計算密集的智慧型計算技術很難應用,這也是目前搜尋引擎技術努力的方向;而全文檢索資料量小,檢索需求明確,客戶量少,在智慧型化和個性可走得更遠。
搜尋引擎的系統架構
這裡主要針對全文檢索搜尋引擎的系統架構進行說明,下文中提到的搜尋引擎如果沒有特殊說明也是指全文檢索搜尋引擎。搜尋引擎的實現原理,可以看作四步:從網際網路上抓取網頁→建立索引資料庫→在索引資料庫中搜尋→對搜尋結果進行處理和排序。
1、從網際網路上抓取網頁
利用能夠從網際網路上自動收集網頁的網路蜘蛛程式,自動訪問網際網路,並沿著任何網頁中的所有url爬到其它網頁,重複這過程,並把爬過的所有網頁收集到伺服器中。
2、建立索引資料庫
3、在索引資料庫中搜尋
4、對搜尋結果進行處理排序
下圖是乙個典型的搜尋引擎系統架構圖,搜尋引擎的各部分都會相互交錯相互依賴。其處理流程按照如下描述:
「網路蜘蛛」從網際網路上抓取網頁,把網頁送入「網頁資料庫」,從網頁中「提取url」,把url送入「url資料庫」,「蜘蛛控制」得到網頁的url,控制「網路蜘蛛」抓取其它網頁,反覆迴圈直到把所有的網頁抓取完成。
系統從「網頁資料庫」中得到文字資訊,送入「文字索引」模組建立索引,形成「索引資料庫」。同時進行「鏈結資訊提取」,把鏈結資訊(包括錨文字、鏈結本身等資訊)送入「鏈結資料庫」,為「網頁評級」提供依據。
搜尋引擎的索引和搜尋
資料的索引分為三個步驟:網頁內容的提取、詞的識別、標引庫的建立。
網際網路上大部分資訊都是以html格式存在,對於索引來說,只處理文字資訊。因此需要把網頁中文字內容提取出來,過濾掉一些指令碼標示符和一些無用的廣告資訊,同時記錄文字的版面格式資訊[1]。詞的識別是搜尋引擎中非常關鍵的一部分,通過字典檔案對網頁內的詞進行識別。對於西文資訊來說,需要識別詞的不同形式,例如:單複數、過去式、組合詞、詞根等,對於一些亞洲語言(中文、日文、韓文等)需要進行分詞處理[3]。識別出網頁中的每個詞,並分配唯一的wordid號,用於為資料索引中的標引模組服務。
關於索引資料的詳細資料結構,有興趣的朋友可以參看文獻[4]。
中文搜尋引擎技術揭密 系統架構 三
這裡主要針對全文檢索搜尋引擎的系統架構進行說明,下文中提到的搜尋引擎如果沒有特殊說明也是指全文檢索搜尋引擎。搜尋引擎的實現原理,可以看作四步 從網際網路上抓取網頁 建立索引資料庫 在索引資料庫中搜尋 對搜尋結果進行處理和排序。利用能夠從網際網路上自動收集網頁的 網路蜘蛛 程式,自動訪問網際網路,並沿...
中文搜尋引擎技術揭密 系統架構 2
搜尋引擎的系統架構這裡主要針對全文檢索搜尋引擎的系統架構進行說明,下文中提到的搜尋引擎如果沒有特殊說明也是指全文檢索搜尋引擎。搜尋引擎的實現原理,可以看作四步 從網際網路上抓取網頁 建立索引資料庫 在索引資料庫中搜尋 對搜尋結果進行處理和排序。1 從網際網路上抓取網頁 利用能夠從網際網路上自動收集網...
中文搜尋引擎技術揭密 中文分詞
中搜 http www.zhongsou.com 等。目前在中文搜尋引擎領域,國內的搜尋引擎已經和國外的搜尋引擎效果上相差不遠。之所以能形成這樣的局面,有乙個重要的原因就在於中文和英文兩種語言自身的書寫方式不同,這其中對於計算機涉及的技術就是中文分詞。什麼是中文分詞 眾所周知,英文是以詞為單位的,詞...