这就是搜索引擎:核心技术详解
?
這就是搜索引擎:核心技術詳解
張俊林?著
ISBN 978-7-121-14865-1
2012年1月出版
定價:45.00 元
16開
320頁
宣傳語:改變全世界人們生活方式的“信息之門”
內 容 簡 介
搜索引擎作為互聯網發展中至關重要的一種應用,已經成為互聯網各個領域的制高點,其重要性不言而喻。搜索引擎領域也是互聯網應用中不多見的以核心技術作為其命脈的領域,搜索引擎各個子系統是如何設計的?這成為廣大技術人員和搜索引擎優化人員密切關注的內容。
本書的最大特點是內容新穎全面而又通俗易懂。對于實際搜索引擎所涉及的各種核心技術都有全面細致的介紹,除了作為搜索系統核心的網絡爬蟲、索引系統、排序系統、鏈接分析及用戶分析外,還包括網頁反作弊、緩存管理、網頁去重技術等實際搜索引擎必須關注的技術,同時用相當大的篇幅講解了云計算與云存儲的核心技術原理。另外,本書也密切關注搜索引擎發展的前沿技術:Google 的×××系統及Megastore 等云計算新技術、百度的暗網抓取技術阿拉丁計劃、內容農場作弊、機器學習排序等。諸多新技術在相關章節都有詳細講解,同時對于社會化搜索、實時搜索及情境搜索等搜索引擎的未來發展方向做了技術展望。為了增進讀者的理解,全書大量引入形象的圖片來講解算法原理,相信讀者會發現原來搜索引擎的核心技術的理解比原先想象的要簡單得多。
本書適合所有對搜索引擎技術感興趣的人們,尤其對于相關領域的學生、對搜索引擎核心技術感到好奇的技術人員、從事搜索引擎優化的相關人員及中小網站站長等更有參考價值。
作者介紹
張俊林:本科畢業于天津大學管理學院,2004年于中科院軟件所直接獲得博士學位并留所從事科研工作,研究方向為搜索引擎與自然語言處理。2005年在CSDN博客發布系列博文“搜索引擎設計實用教程:以百度為例”,在網絡上獲得了廣泛轉載與良好口碑。2006年作為聯合創始人建立了智能信息聚合網站“玩聚網”,曾先后于阿里巴巴搜索技術中心任資深搜索技術研究員、房價網首席研究員,現任職于新浪微博,從事微博搜索與語義分析及推薦方面的研發工作。
前 言
互聯網產品形形×××,有產品導向的,有營銷導向的,也有技術導向的,但是以技術見長的互聯網產品比例相對小些。搜索引擎是目前互聯網產品中最具技術含量的產品,如果不是唯一,至少也是其中之一。
經過十幾年的發展,搜索引擎已經成為互聯網的重要入口之一,Twitter 聯合創始人埃文?威廉姆斯提出了“域名已死論”:好記的域名不再重要,因為人們會通過搜索進入網站。搜索引擎排名對于中小網站流量來說至關重要。了解搜索引擎簡單界面背后的技術原理其實對很多人都很重要。
為什么會有這本書
最初寫本搜索引擎技術書籍的想法萌生于兩年前,當時的場景是要給團隊成員做搜索技術培訓,但是我找遍了相關圖書,卻沒有發現非常合適的搜索技術入門書籍。當時市面上的書籍,要么是信息檢索理論方面的專著,理論性太強不易懂,而且真正講搜索引擎技術的章節并不太多;要么是Lucene 代碼分析這種過于實務的書籍,像搜索引擎這種充滿算法的應用,直接分析開源系統代碼并不是非常高效的學習方式。所以當時萌生了寫一本既通俗易懂,適合沒有相關技術背景的人員閱讀,又比較全面,且融入最新技術的搜索引擎書籍,但是真正動手開始寫是一年前的事情了。
寫書前我給自己定了幾個目標。首先內容要全面,即全面覆蓋搜索引擎相關技術的主要方面,不僅要包含倒排索引、檢索模型和爬蟲等常見內容,也要詳細講解鏈接分析、網頁反作弊、用戶搜索意圖分析、云存儲及網頁去重,甚至是搜索引擎緩存等內容,這些都是一個完整搜索引擎的有機構成部分,但是詳述其原理的書籍并不多,我希望能夠盡可能全面些。
第二個目標是通俗易懂。我希望沒有任何相關技術背景的人也能夠通過閱讀這本書有所收獲,最好是不懂技術的同學也能大致看懂。這個目標看似簡單,其實很不容易達到,我也不敢說這本書已經達到了此目的,但是確實已經盡自己所能去做了。至于具體的措施,則包含以下三個方面。
一個是盡可能減少數學公式的出現次數,除非不得已不羅列公式。雖說數學公式具簡潔之美,但是大多數人其實對于數學符號是有恐懼和逃避心理的,多年前我也有類似心理,所以但凡可能,盡量不用數學公式。
· 一個是盡可能多舉例子,尤其是一些比較難理解的地方,需要例子來增進理解。
· 還有一個是多畫圖。就我個人的經驗來說,盡管算法或者技術是很抽象的,但是如果深入理解其原理,去繁就簡,那么一定可以把算法轉換成形象的圖片。如果不能在頭腦中形成算法直觀的圖形表示,說明并未透徹了解其原理。這是我判斷自己是否深入理解算法的一個私有標準。鑒于此,本書中在講解算法的地方,大量采用了算法原理圖,全書包含了超過300 幅算法原理講解圖,相信這對于讀者深入理解算法會有很大的幫助。
· 第三個目標是強調新現象新技術,比如Google 的×××系統及Megastore 等云存儲系統、Pregel 云圖計算模型、暗網爬取技術、Web 2.0 網頁作弊、機器學習排序、情境搜索、社會化搜索等在相關章節都有講解。
· 第四個目標是強調原理,不糾纏技術細節。對于新手一個易犯的毛病是喜歡摳細節,只見樹木不見森林,搞明白了一個公式卻不了解其背后的基本思想和出發點。我接觸的技術人員很多,十有七八會有這個特點。這里有個“道術孰優”的問題,何為“道”?何為“術”?舉個例子的話,《孫子兵法》是道,而《三十六計》則為術。“道”所述,是宏觀的、原理性的、長久不變的基本原理,而“術”則是在遵循基本原理基礎上的具體手段和措施,具有易變性。技術也是如此,算法本身的細節是“術”,算法體現的基本思想則是“道”,知“道”而學“術”,兩者雖不可偏廢,但是若要選擇優先級的話,無疑我會選擇先“道”后“術”。
以上四點是寫書前定下的目標,現在書寫完了,也許很多地方不能達到最初的期望,但是盡了力就好。寫書的過程很辛苦,起碼比我原先想象的要辛苦,因為工作繁忙,所以只能每天早早起床,再加上周末及節假日的時間來完成。也許書中還存在這樣那樣的缺點,但是我可以無愧地說寫這本書是有誠意的。
這本書是寫給誰的
如果您是下列人員之一,那么本書就是寫給您的。
1. 對搜索引擎核心算法有興趣的技術人員
· 搜索引擎的整體框架是怎樣的?包含哪些核心技術?
· 網絡爬蟲的基本架構是什么?常見的爬取策略是什么?什么是暗網爬取?如何構建分布式爬蟲?百度的阿拉丁計劃是什么?
· 什么是倒排索引?如何對倒排索引進行數據壓縮?
· 搜索引擎如何對搜索結果排序?
· 什么是向量空間模型?什么是概率模型?什么是BM25 模型?什么是機器學習排序?它們之間有何異同?
· PageRank 和HITS 算法是什么關系?有何異同?SALSA 算法是什么?Hilltop 算法又是什么?各種鏈接分析算法之間是什么關系?
· 如何識別搜索用戶的真實搜索意圖?用戶搜索目的可以分為幾類?什么是點擊圖?什么是查詢會話?相關搜索是如何做到的?
· 為什么要對網頁進行去重處理?如何對網頁進行去重?哪種算法效果較好?
· 搜索引擎緩存有幾級結構?核心策略是什么?
· 什么是情境搜索?什么是社會化搜索?什么是實時搜索?
· 搜索引擎有哪些發展趨勢?
如果您對其中三個以上的問題感興趣,那么這本書就是為您而寫的。
2. 對云計算與云存儲有興趣的技術人員
· 什么是 CAP 原理?什么是ACID 原理?它們之間有什么異同?
· Google 的整套云計算框架包含哪些技術?Hadoop 系列和Google 的云計算框架是什么關系?
· Google 的三駕馬車GFS、BigTable、MapReduce 各自代表什么含義?是什么關系?
· Google 的×××系統的基本原理是什么?
· Google 的Pregel 計算模型和MapReduce 計算模型有什么區別?
· Google 的Megastore 云存儲系統和BigTable 是什么關系?
· 亞馬遜公司的 Dynamo 系統是什么?
· 雅虎公司的 PNUTS 系統是什么?
· Facebook 公司的Haystack 存儲系統適合應用在什么場合?
如果您對上述問題感興趣,相信可以從書中找到答案。
3. 從事搜索引擎優化的網絡營銷人員及中小網站站長
· 搜索引擎的反作弊策略是怎樣的?如何進行優化避免被認為是作弊?
· 搜索引擎如何對搜索結果排序?鏈接分析和內容排序是什么關系?
· 什么是內容農場?什么是鏈接農場?它們是什么關系?
· 什么是Web 2.0 作弊?有哪些常見手法?
· 什么是 SpamRank?什么是TrustRank?什么又是BadRank?它們是什么關系?
· ×××系統對網頁排名有何影響?
最近有一批電子商務網站針對搜索引擎優化,結果被Google 認為是黑帽SEO 而導致搜索排名降權,如何避免這種情況?從事相關行業的營銷人員和網站站長應該深入了解搜索引擎反作弊的基本策略和方法,甚至是網頁排名算法等搜索引擎核心技術。SEO 技術說到底其實很簡單,雖然不斷發生變化,但是很多原理性的策略總是相似的,萬變不離其宗,深入了解搜索引擎相關技術原理將形成您的行業競爭優勢。
4. 作者自己
我的記性不太好,往往一段時間內了解的技術,時隔幾年后就很模糊了,所以這本書也是為我自己寫的,以作為技術備查手冊。沈利也參與了本書的部分編寫工作。
致謝
感謝博文視點的付睿編輯,沒有她也就沒有本書的面世,付編輯在閱稿過程中提出的細致入微的改進點對我幫助甚大。
感謝翻開此書的讀者,如果您在閱讀本書的過程中發現一些紕漏或者錯誤,或者是意見建議,希望您能夠不吝讓我知曉,我會守在mailjunlin@gmail.com 這個信箱旁敬候您的來信,如果給我微博發信也非常歡迎http://www.weibo.com/malefactor。
特別感謝我的妻子,在近一年的寫作過程中,我幾乎把能用的所有業余時間都投入在本書的寫作上,她為了不讓我分心,承擔了所有的家務,不介意沒有時間陪她,這本書的誕生且算是送她的一個禮物吧。
于我而言,這本書的寫作是一個辛苦而欣喜的過程,有如旅人遠行,涉水跋山之際抬頭遠眺,總能看到曾經忽略的旖旎麗景,若您在閱讀本書的過程中也能有此體會,那就是我的榮幸了。
張俊林
2011 年6 月
?
?
轉載于:https://blog.51cto.com/bvbroadview/758801
總結
以上是生活随笔為你收集整理的这就是搜索引擎:核心技术详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx 架构原理
- 下一篇: C语言中字符串如何转换为二进制、八进制、