搜索引擎发展简史
- 史前时代:分类目录
这个时代也可以被称为“导航时代”。譬如国内的hao123就是通过人工的收集整理,把属于各个类别的高质量的网站分门别类,然后用户通过分级目录来查找网站。
一般被收录的网站质量都较高,但是这种方式可扩展性不强,绝大部分网页不能被收录。
- 第一代:文本检索
文本检索采用经典的信息检索模型,比如布尔模型、向量空间模型或者概率模型,来计算用户查询关键词和网页文本内容的相关程度。早期的很多搜索引擎譬如Alta Vista等都采取这种模式。
这种方式解决了一代的弊病,可以收录大部分的网页,并且按照匹配成都进行排序。但是网页之间有丰富的链接关系,这一代引擎并没有使用这些信息,所以搜索质量不是很好。
- 第二代:链接分析
听名字就知道,他解决了第一代链接的关系。通常而言,网页链接代表了一种推荐关系,所以通过链接分析可以在海量内容中找出重要的网页。这种重要性本质上是对网页流行程度的一种衡量。
Google率先提出并使用PageRank链接分析技术,并大获成功,后来提出了很多改进的链接分析算法。
这种方式能够改善搜索结果的质量,但是并未考虑用户的个性化要求,所以只要输入的查询相同,所有人搜索的结果都相同。而且该分析算法有漏洞从而获得更高的搜索排名。
- 第三代:以用户为中心
目前的搜索引擎基本可归于第三代,即以用户需求为核心。不同用户即使输入同一个关键词,但是它的目的可能不一样,比如“苹果”一次,果农可能是真的苹果,某些人可能就是“Iphone”。即使是同一个人同一个词,不同时间和场合的不同,需求也会有所变化。
目前大部分引擎为了以上或者更大的目标,进行了很多技术方面的尝试。
但总的来说,分为以下三个目标:
- 更全:云存储、爬虫
- 更快:索引、索引压缩、云存储、爬虫、网页去重、缓存
- 更准(prior):排序、链接分析、反作弊、用户研究、网页去重
搜索引擎架构: