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