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