一、搜索引擎的基本結構
搜索引擎基本結構一般包括:搜索器、索引器、檢索器、用戶接口等四個功能模塊。
1、搜索器
搜索器也叫網絡蜘蛛,是搜索引擎用來爬行和抓取網頁的一個自動程序,在系統(tǒng)后臺不停歇地在互聯(lián)網各個節(jié)點爬行,在爬行過程中盡可能快的發(fā)現和抓取網頁。
2、索引器
它的主要功能是理解搜索器所采集的網頁信息,并從中抽取索引項。
3、檢索器
其功能是快速查找文檔,進行文檔與查詢的相關度評價,對要輸出的結果進行排序。
4、用戶接口
它為用戶提供可視化的查詢輸入和結果輸出的界面。

二、搜索引擎的主要模塊及功能
1、爬蟲:從互聯(lián)網爬取原始網頁數據,存儲于文檔知識庫服務器。
2、文檔知識庫服務器:存儲原始網頁數據,通常是分布式Key-Value數據庫,能根據URL/UID快速獲取網頁內容。
3、索引:讀取原始網頁數據,解析網頁,抽取有效字段,生成索引數據。索引數據的生成方式通常是增量的,分塊/分片的,并會進行索引合并、優(yōu)化和刪除。生成的索引數據通常包括:字典數據、倒排表、正排表、文檔屬性等。生成的索引存儲于索引服務器。
4、索引服務器:存儲索引數據,主要是倒排表,通常是分塊、分片存儲,并支持增量更新和刪除。數據內容量非常大時,還根據類別、主題、時間、網頁質量劃分數據分區(qū)和分布,更好地服務在線查詢。
5、檢索:讀取倒排表索引,響應前端查詢請求,返回相關文檔列表數據。
6、排序:對檢索器返回的文檔列表進行排序,基于文檔和查詢的相關性、文檔的鏈接權重等屬性。
7、鏈接分析:收集各網頁的鏈接數據和錨文本(Anchor Text),以此計算各網頁鏈接評分,最終會作為網頁屬性參與返回結果排序。
8、網頁去重:提取各網頁的相關特征屬性,計算相似網頁組,提供離線索引和在線查詢的去重服務。
9、網頁反垃圾:收集各網頁和網站歷史信息,提取垃圾網頁特征,從而對在線索引中的網頁進行判定,去除垃圾網頁。
10、查詢分析:分析用戶查詢,生成結構化查詢請求,指派到相應的類別、主題數據服務器進行查詢。
11、頁面描述/摘要:為檢索和排序完成的網頁列表提供相應的描述和摘要。
12、前端:接受用戶請求,分發(fā)至相應服務器,返回查詢結果。