這就是搜索引擎(核心技術講解)---讀書筆記

第一章 搜索引擎及其技術架構web

1.搜索引擎爲什麼重要算法

2. 搜索引擎技術發展歷史
  • 分類目錄時代,表明網站爲 yahoo,hao123
  • 文本檢索的一代,匹配用戶的輸入query 與網頁內容,而後按照匹配程度進行計算排序
  • 連接分析的一代,文本檢索沒有考慮用戶意圖以及網頁自己的質量,可能會返回排名靠前的低質量的欺詐網頁給用戶,連接分析能夠考慮網頁的入鏈和出鏈,至關因而一種推薦機制,能夠有效篩選出相關且高質量的網頁給用戶,典型的表明爲google的pagerank
  • 用戶中心的一代,考慮了不一樣用戶自己查詢相同query可能會有差別,同一個用戶在不一樣的時間、地點查詢相同的query可能也會有差別,也須要考慮用戶的查詢意圖,總之圍繞儘量真正理解用戶的查詢需求而改進搜索引擎。
 
3.搜索引擎的三個目標:更快、更全、更準
 
4.搜索引擎的三個核心問題:
  • 用戶真正的需求是什麼
  • 哪些信息是和用戶的需求真正相關的
  • 哪些信息時用戶能夠依賴的
5.搜索引擎的技術架構圖

          

 

第二章  網絡爬蟲服務器

1.通用爬蟲框架   網絡

               

2.優秀爬蟲的特性
  • 高性能
多進程、多線程爬蟲,優化待抓取、已抓取URL隊列
  • 可擴展性
分佈式爬蟲、增長併發性
  • 健壯性
可以處理各類異常狀況、可以異常恢復
  • 友好性
遵循爬蟲協議、robots.txt,不給待抓取網站服務器形成很大的負擔
 
3.爬蟲質量的評價標準
抓取網頁覆蓋率、抓取網頁時新性、抓取網頁重要性
4.爬蟲抓取策略
寬度優先遍歷策略
非徹底pagerank策略
OPIC(online page importance computation,在線頁面重要性計算)
大站優先策略
5.網頁更新策略
歷史參考策略:參考網頁的歷史更新頻率,以泊松分佈建模
用戶體驗策略:按照網頁對於用戶體驗的影響來決定什麼時候更新網頁
聚類抽樣策略:將不一樣的網頁進行聚類,同一個類別的網頁更新方式相同,每一個類別進行抽樣計算類別的平均更新頻率
6.暗網抓取
非web,非結構化的數據抓取
  • 組合查詢問題
google 富含信息查詢模板
  • 文本框填寫問題
給定種子查詢關鍵詞列表,而後從返回的數據中提取出更多的關鍵詞,而後迭代查詢
 
7. 分佈式爬蟲
分佈式數據中心、分佈式抓取服務器、分佈式爬蟲程序
  • 主從分佈式爬蟲
  • 對等分佈式爬蟲
對主域名進行hash計算,而後對應分配到不一樣的服務器進行抓取
改進:採用一致性hash算法,將不一樣的服務器組成一個環,將主域名映射到[0,2^32]的某個數值,實現了能夠方便進行服務器的擴展,以及某臺服務器宕機了能夠直接將url分發到其後的服務器,大大加強了可擴展性。
相關文章
相關標籤/搜索