一、搜索引擎的基本結(jié)構(gòu)
搜索引擎基本結(jié)構(gòu)一般包括:搜索器、索引器,、檢索器,、用戶接口等四個(gè)功能模塊。
1,、搜索器
搜索器也叫網(wǎng)絡(luò)蜘蛛,,是搜索引擎用來(lái)爬行和抓取網(wǎng)頁(yè)的一個(gè)自動(dòng)程序,,在系統(tǒng)后臺(tái)不停歇地在互聯(lián)網(wǎng)各個(gè)節(jié)點(diǎn)爬行,,在爬行過(guò)程中盡可能快的發(fā)現(xiàn)和抓取網(wǎng)頁(yè)。
2、索引器
它的主要功能是理解搜索器所采集的網(wǎng)頁(yè)信息,并從中抽取索引項(xiàng)。
3,、檢索器
其功能是快速查找文檔,進(jìn)行文檔與查詢的相關(guān)度評(píng)價(jià),,對(duì)要輸出的結(jié)果進(jìn)行排序,。
4、用戶接口
它為用戶提供可視化的查詢輸入和結(jié)果輸出的界面,。
二,、搜索引擎的主要模塊及功能
1、爬蟲:從互聯(lián)網(wǎng)爬取原始網(wǎng)頁(yè)數(shù)據(jù),,存儲(chǔ)于文檔知識(shí)庫(kù)服務(wù)器,。
2、文檔知識(shí)庫(kù)服務(wù)器:存儲(chǔ)原始網(wǎng)頁(yè)數(shù)據(jù),,通常是分布式Key-Value數(shù)據(jù)庫(kù),,能根據(jù)URL/UID快速獲取網(wǎng)頁(yè)內(nèi)容。
3,、索引:讀取原始網(wǎng)頁(yè)數(shù)據(jù),,解析網(wǎng)頁(yè),抽取有效字段,,生成索引數(shù)據(jù),。索引數(shù)據(jù)的生成方式通常是增量的,分塊/分片的,,并會(huì)進(jìn)行索引合并,、優(yōu)化和刪除。生成的索引數(shù)據(jù)通常包括:字典數(shù)據(jù),、倒排表,、正排表、文檔屬性等,。生成的索引存儲(chǔ)于索引服務(wù)器,。
4、索引服務(wù)器:存儲(chǔ)索引數(shù)據(jù),,主要是倒排表,,通常是分塊、分片存儲(chǔ),,并支持增量更新和刪除,。數(shù)據(jù)內(nèi)容量非常大時(shí),,還根據(jù)類別,、主題、時(shí)間,、網(wǎng)頁(yè)質(zhì)量劃分?jǐn)?shù)據(jù)分區(qū)和分布,,更好地服務(wù)在線查詢。
5,、檢索:讀取倒排表索引,,響應(yīng)前端查詢請(qǐng)求,,返回相關(guān)文檔列表數(shù)據(jù)。
6,、排序:對(duì)檢索器返回的文檔列表進(jìn)行排序,,基于文檔和查詢的相關(guān)性、文檔的鏈接權(quán)重等屬性,。
7,、鏈接分析:收集各網(wǎng)頁(yè)的鏈接數(shù)據(jù)和錨文本(Anchor Text),以此計(jì)算各網(wǎng)頁(yè)鏈接評(píng)分,,最終會(huì)作為網(wǎng)頁(yè)屬性參與返回結(jié)果排序,。
8、網(wǎng)頁(yè)去重:提取各網(wǎng)頁(yè)的相關(guān)特征屬性,,計(jì)算相似網(wǎng)頁(yè)組,,提供離線索引和在線查詢的去重服務(wù)。
9,、網(wǎng)頁(yè)反垃圾:收集各網(wǎng)頁(yè)和網(wǎng)站歷史信息,,提取垃圾網(wǎng)頁(yè)特征,從而對(duì)在線索引中的網(wǎng)頁(yè)進(jìn)行判定,,去除垃圾網(wǎng)頁(yè),。
10、查詢分析:分析用戶查詢,,生成結(jié)構(gòu)化查詢請(qǐng)求,,指派到相應(yīng)的類別、主題數(shù)據(jù)服務(wù)器進(jìn)行查詢,。
11,、頁(yè)面描述/摘要:為檢索和排序完成的網(wǎng)頁(yè)列表提供相應(yīng)的描述和摘要。
12,、前端:接受用戶請(qǐng)求,,分發(fā)至相應(yīng)服務(wù)器,返回查詢結(jié)果,。