搜索引擎工作原理
搜索引擎是一個非常復(fù)雜的數(shù)據(jù)庫系統(tǒng),通過抓取上億級別的頁面,建立索引數(shù)據(jù)庫,組件龐大的數(shù)據(jù)庫。當(dāng)用戶輸入搜索關(guān)鍵詞的時候,給予搜索結(jié)果的響應(yīng),這里我們只是簡單的解析搜索引擎工作的步驟,僅供大家參考。
搜索引擎工作大致分為三個流程:爬行抓取、預(yù)處理、排名
(1)爬行和抓?。核阉饕嬷┲胪ㄟ^跟蹤鏈接訪問網(wǎng)頁,獲得頁面HTML代碼存入數(shù)據(jù)庫。
1.蜘蛛
2.跟蹤鏈接
3.吸引蜘蛛
4.地址庫
5.文件存儲
6.爬行時的復(fù)制內(nèi)容檢測
(2)預(yù)處理:索引程序?qū)ψト淼捻撁鏀?shù)據(jù)進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。
1.提取文字
2.中文分詞
3.去停止詞
4.消除噪聲
5.去重
6.正向索引
7.倒排索引
8.鏈接關(guān)系計算
9.特殊文件處理
(3)排名:用戶輸入關(guān)鍵詞后,排名程序調(diào)用索引庫數(shù)據(jù),計算相關(guān)性,然后安一定的格式生成搜索結(jié)果頁面。
1.搜索詞處理
2.文件匹配
3.初始子集的選擇
4.相關(guān)性計算
5.排名過濾及調(diào)整
6.排名顯示
7.搜索緩存
8.查詢及點擊日志