《4.3、搜集引擎信息查询服务--生成搜索结果页》一节中我们了解了搜索结果页面是如何生成的,同时搜索引擎发现一段时间内许多搜索行为是重复的,因此搜索引擎引入了搜索结果页缓存技术,本节将展开讲解。

为什么需要搜索结果页缓存

用户在使用搜索引擎进行检索时,查询词可能千差万别。但是如果从大量用户查询统计来看,会有一些词汇经常被查询,而一些词很少被查询:

  • 1、前20%的查询词的查询次数占了总查询次数的80%。
  • 2、查询具有稳定性,查过的词很可能在不久的将来还会被查询。

因此,搜索引擎可以为添加搜索结果页缓存机制,这样可以大大降低搜索引擎查询层的重复计算量,以及大大提高查询效率。

目前的技术能够达到在缓存中命中99%的查询,因此用户的查询绝大多数都是取自缓存,这也是为什么搜索引擎能够如此快返回查询结果的一个重要原因。

搜索结果页缓存

下图为搜索结果页缓存技术的工作流程图。

搜索结果页缓存

  1. 用户通过用户接口发出检索请求给检索代理。
  2. 检索代理在搜索结果页缓存中寻找是否有该查询结果缓存。
  3. 有的话直接获取该缓存结果并且返回给用户。
  4. 没有的话才进行查询计算。

小结

有了搜索结果页缓存,搜索引擎才能避免大量的重复检索,并且能保证大多数的检索可以在秒级内得到结果。

本章的内容到此结束,主要讲的是搜索引擎原理中查询服务的技术。在下一章我们将研究用户行为分析。下一节课程为《5.1、用户行为分析--用户查询与点击日志》,欢迎大家一起学习。