摘 要:本文重點描述了網絡搜索引擎網絡蜘蛛環節和各種索引庫建立的環節實現的原理,并說明網絡搜索引擎設計和實現的方法,使用這種方法,網絡編程人員可編寫出自己需要的網絡搜索引擎。
關鍵詞:網絡搜索引擎
中圖分類號:TP393 文獻標識碼:A 文章編號:1674-7712 (2014) 22-0000-01
一、網絡搜索引擎的概念
搜索引擎是目前人們應用得最廣泛的一種軟件工具,它能在網絡上搜索人們需要信息。網絡搜索引擎根據搜索的結果可分為全文搜索引擎、目錄搜索引擎、元搜索引擎等,它們的搜索結果雖然有區別,然而其搜索的原理卻一致。
二、網絡搜索引擎的分析
網絡搜索引擎的原理,是網絡機器人程序接受用戶的命令,通過網絡過濾分析器過濾一部分信息,再通過查詢器在網頁數據庫中搜索與之相關的信息,網頁數據庫會給出搜索的索引資料,將索引的資料通過某種規則羅列出來,而用戶則得到這些通過某些規則給出的信息。
在這個過程中,最重要的搜索環節為蜘蛛引擎,即查詢器的環節,它是整個搜索引擎算法的描述,蜘蛛引擎的建立的算法決定搜索引擎搜索的質量。
所謂的網絡蜘蛛,是指將所有的網頁當作一個蜘蛛網一般,在這個蜘蛛網中,不同的分類可能會搜索到同一個網頁。蜘蛛引擎的搜索方式可分為以廣度為主的搜索方式和以深度為主的搜索方式。以廣度為主的搜索方式是指如果將網頁分為層次,它先搜索完全部的第一個層次,再搜索完第二次,以引類推,這種搜索方式能夠搜索到最多的信息;而以深度為主的搜索方式則是指依次完成每個層次的搜索,直到所有的層次搜索完畢。為了使計算計能實現這種算法,目前的網絡蜘蛛會限制搜索的層數。網絡蜘蛛抓取完網頁后,會將抓取的結果形成網絡數據庫。
如果將網絡蜘蛛抓取的網頁作為一個數據庫,那么需要一個索引軟件為這個數據庫建立索引,該索引需能為數據庫能形成數據庫的管理規則,以便完成用戶下達的索引指令。使用索引功能,就能應用數據庫的原理,給出用戶需要搜索的網頁數據。
三、網絡搜索引擎的實現
如果以系統的方式描述網絡搜索引擎所有的功能,可將該系統的功能模塊描述如下:管理員的接口模塊,該模塊為管理員的登陸以及控制的模塊。搜索子系統模塊,它將抓取回的網頁視為XML文件,建立索引。檢索子系統模塊,它將抓回的數據庫建立成索引數據庫。用戶接口子系統,它以搜索引擎界面的方式與用戶交互,指引用戶應當如何使用該軟件。
(一)設計網絡搜索引擎的架構
如果以網絡架構的方式描述網絡搜索引擎,可將它描述如下:它將互鏈網所有的網頁及信息視為一個數據庫元素,由網絡蜘蛛負責抓取網頁,它將抓取的網頁形頁一個網頁數據庫,網頁數據集則負責處理網頁數據庫,索引庫則建立一個索引數據庫集,它是下達用戶指令和上傳搜索結果的橋梁,查詢服務器將搜索出的結果依某種規則排序,給出搜索的結果,而用戶看到的就是查詢服務器給出的搜索結果。
(二)編寫網絡搜索引擎的算法
1.軟件的選擇和使用
該次網絡搜索引擎主要需要應用到兩款軟件:
安裝Heritrix軟件——該軟件是一款開源的、插件可擴展的網絡蜘蛛軟件,該軟件有以下的特點:它適合抓取大量的數據、它適合根據某一種主題抓取數據、它能持續更新抓取的數據、它能實現多協議的網絡數據抓取分析。該次網絡搜索引擎系統以該軟件為網頁數據庫平臺來設計和實現。
安裝Lacene軟件——它是一個開放源代碼的檢索引擎工具包,應用這款軟件,可建立查詢引擎、文本引擎、搜索引擎的檢索,它能實現索引庫需要的全部功能。
2.創建網頁數據集
網頁數據集的創建——利用該軟件的“jobs”菜單,可完成網頁的抓取環節。該軟件有數種抓取的方法:依原有的模板進行抓取;管理員新建一個抓取模板,管理員需在該模板中設置抓取參數;根據軟件設計的幾個模板,選取其中之一作為新模板;依默認的模板進行抓取。
使用“Modules”菜單,設置抓取頁面的存放位置、使用“Settings”設置搜索引擎的各類附加功能,待設置結束后,選擇“Submit job”菜單完成網頁數據集的創建。
管理員可根據自己的需要建立抓取模板,然后建立抓取模板的名字,該模板即為該搜索引擎網絡蜘蛛的算法。
3.創建索引庫
創建索引子系統——該軟件可用Lucene軟件為Heritrix軟件抓取的數據建立索引子系統,它能完成提取文本工作、構建Document工作、分析和建立索引工作。
創建文本索引——如以上所描述,一個搜索引擎所讀取的數據不僅有普通的html網頁文件,還有其它各類文本文件,利用Lucene軟件可可實現文本的提取和轉換工作。
創建Document的對象——一個搜索引擎搜索出來的數據會有多種對象,如網頁的網考慮不周多頁的抓取時間、網頁的摘要等,如果這些單元可視為對象,那么一個搜索引擎完成搜索以后,能顯示出哪些內容,就是由Document決定。
創建索引的功能——在Lucene軟件中,它負責建立對象的各種索引的功能,該環節主要有:“Contants.INDEX_STORE_PATH”,它負責建立索引存放的位置;“New MMAnalyzer()”它負責為文本建立索引;“true”,它負責重新創建索引。通過設置這三項功能的參數,管理員可以建立適合搜索引擎需要的索引庫。
創建檢索子系統——該子系統可由“初始化IndexSearcher”、“查詢Query”、“檢索結果Hits”、“結果顯示”這幾項參數設置來實現。這幾項參數決定搜索引擎能提供給用戶哪些搜索結果,即用戶實際所得的,即為檢索子系統最后所設置的參數。
(三)編寫網絡搜索引擎的實現
使用以上軟件,可建立一個具有基本功能的網絡搜索引擎,如果給予它一個搜索指令,它能搜索出用戶需要的結果,從實現的結果可以看到,使用以上方式設計搜索引擎具有可實現性。
四、結束語
本文重點描述了網絡搜索引擎網絡蜘蛛環節和各種索引庫建立的環節實現的原理,并說明網絡搜索引擎設計和實現的方法,使用這種方法,網絡編程人員可編寫出自己需要的網絡搜索引擎。
參考文獻:
[1]谷歌對決微軟爭奪搜索引擎市場[J].中國新通信,2008(04).
[2]王瑩.網絡搜索引擎使用技巧[J].河南科技,2010(14).
[3]賀維.劉彬.田學志.基于行為模式進行網絡搜索信息過濾[J].中國新技術新產品,2010(17).