这就是搜索引擎:核心技术详解
张俊林
前言
互联网产品形形色色,有产品导向的,有营销导向的,也有技术导向的,但是以技术见长的互联网产品比例相对小些。搜索引擎是目前互联网产品中最具技术含量的产品,如果不是唯一,至少也是其中之一。
经过十几年的发展,搜索引擎已经成为互联网的重要入口之一,Twitter联合创始人埃文·威廉姆斯提出了“域名已死论”:好记的域名不再重要,因为人们会通过搜索进入网站。搜索引擎排名对于中小网站流量来说至关重要。了解搜索引擎简单界面背后的技术原理其实对很多人都很重要。
为什么会有这本书
最初写本搜索引擎技术书籍的想法萌生于两年前,当时的场景是要给团队成员做搜索技术培训,但是我找遍了相关图书,却没有发现非常合适的搜索技术入门书籍。当时市面上的书籍,要么是信息检索理论方面的专著,理论性太强不易懂,而且真正讲搜索引擎技术的章节并不太多;要么是Lucene代码分析这种过于实务的书籍,像搜索引擎这种充满算法的应用,直接分析开源系统代码并不是非常高效的学习方式。所以当时萌生了写一本既通俗易懂,适合没有相关技术背景的人员阅读,又比较全面,且融入最新技术的搜索引擎书籍,但是真正动手开始写是一年前的事情了。
写书前我给自己定了几个目标。首先内容要全面,即全面覆盖搜索引擎相关技术的主要方面,不仅要包含倒排索引、检索模型和爬虫等常见内容,也要详细讲解链接分析、网页反作弊、用户搜索意图分析、云存储及网页去重,甚至是搜索引擎缓存等内容,这些都是一个完整搜索引擎的有机构成部分,但是详述其原理的书籍并不多,我希望能够尽可能全面些。
第二个目标是通俗易懂。我希望没有任何相关技术背景的人也能够通过阅读这本书有所收获,最好是不懂技术的同学也能大致看懂。这个目标看似简单,其实很不容易达到,我也不敢说这本书已经达到了此目的,但是确实已经尽自己所能去做了。至于具体的措施,则包含以下三个方面。
一个是尽可能减少数学公式的出现次数,除非…