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