一、搜索引擎的基本結構
搜索引擎基本(ben)結(jie)構一(yi)般包括:搜索(suo)(suo)器(qi)、索(suo)(suo)引(yin)器(qi)、檢索(suo)(suo)器(qi)、用戶接口(kou)等四個功能(neng)模塊(kuai)。
1、搜索器
搜索器也叫網(wang)絡蜘蛛,是(shi)搜索引擎(qing)用(yong)來爬行和(he)抓取網(wang)頁的一個自動程(cheng)序,在(zai)系統后臺不(bu)停歇地在(zai)互聯網(wang)各個節(jie)點爬行,在(zai)爬行過(guo)程(cheng)中盡可能快的發現和(he)抓取網(wang)頁。
2、索引器
它的主要(yao)功能是理解搜索器(qi)所采集的網頁信息,并(bing)從中(zhong)抽取索引(yin)項。
3、檢索器
其功能是快速查找文檔(dang),進行(xing)文檔(dang)與查詢的相關度評價,對要輸出的結果進行(xing)排序。
4、用戶接口
它為用戶提供可視化(hua)的查詢輸(shu)入和(he)結果輸(shu)出的界面。
二、搜索引擎的主要模塊及功能
1、爬蟲(chong):從互聯網(wang)爬取原始網(wang)頁數據(ju),存儲于文檔(dang)知識庫服(fu)務器。
2、文檔知識庫服務(wu)器:存儲(chu)原始網頁(ye)數(shu)據,通常是(shi)分布式Key-Value數(shu)據庫,能根據URL/UID快速獲取網頁(ye)內(nei)容。
3、索(suo)(suo)引(yin)(yin):讀取原(yuan)始(shi)網(wang)(wang)頁(ye)數據(ju),解析網(wang)(wang)頁(ye),抽取有效字(zi)段,生成索(suo)(suo)引(yin)(yin)數據(ju)。索(suo)(suo)引(yin)(yin)數據(ju)的生成方(fang)式通常(chang)是增量的,分(fen)塊/分(fen)片的,并會(hui)進行索(suo)(suo)引(yin)(yin)合并、優(you)化和刪除(chu)。生成的索(suo)(suo)引(yin)(yin)數據(ju)通常(chang)包括:字(zi)典數據(ju)、倒排(pai)表、正排(pai)表、文檔屬性等。生成的索(suo)(suo)引(yin)(yin)存儲于索(suo)(suo)引(yin)(yin)服務器。
4、索引服務器:存(cun)(cun)儲索引數(shu)據,主要是倒排表,通常(chang)是分(fen)塊、分(fen)片(pian)存(cun)(cun)儲,并支持(chi)增量更新(xin)和(he)刪除。數(shu)據內容(rong)量非常(chang)大(da)時,還根據類(lei)別、主題、時間(jian)、網頁(ye)質量劃分(fen)數(shu)據分(fen)區和(he)分(fen)布(bu),更好地服務在線查詢(xun)。
5、檢索:讀取(qu)倒(dao)排(pai)表索引(yin),響應前(qian)端(duan)查詢請(qing)求,返回(hui)相關文(wen)檔(dang)列表數據。
6、排序:對檢索器返回的文(wen)檔(dang)列表(biao)進行排序,基于(yu)文(wen)檔(dang)和查(cha)詢的相關性、文(wen)檔(dang)的鏈接權重等屬性。
7、鏈接(jie)分析:收(shou)集各網(wang)頁的(de)鏈接(jie)數據(ju)和錨文本(ben)(Anchor Text),以此計算各網(wang)頁鏈接(jie)評分,最終會作為網(wang)頁屬性參與返回結果排序。
8、網頁(ye)去(qu)重:提取(qu)各網頁(ye)的(de)相(xiang)關特征屬性(xing),計算相(xiang)似網頁(ye)組,提供(gong)離線(xian)索引(yin)和(he)在線(xian)查詢的(de)去(qu)重服務。
9、網(wang)頁(ye)(ye)反垃圾(ji):收集(ji)各(ge)網(wang)頁(ye)(ye)和網(wang)站歷史(shi)信息,提取(qu)垃圾(ji)網(wang)頁(ye)(ye)特征,從而(er)對在(zai)線索(suo)引(yin)中(zhong)的網(wang)頁(ye)(ye)進行判定,去除垃圾(ji)網(wang)頁(ye)(ye)。
10、查(cha)(cha)詢(xun)分析:分析用戶(hu)查(cha)(cha)詢(xun),生成結構(gou)化查(cha)(cha)詢(xun)請求(qiu),指派(pai)到(dao)相應的類別、主題數據服務器進行查(cha)(cha)詢(xun)。
11、頁(ye)面描述(shu)/摘(zhai)要:為檢(jian)索和(he)排序完成的網(wang)頁(ye)列(lie)表(biao)提供相應的描述(shu)和(he)摘(zhai)要。
12、前端(duan):接受(shou)用戶請求(qiu),分發至相應服務器,返回查(cha)詢結(jie)果。