在《4.3、搜集引擎信息查询服务--生成搜索结果页》一节中我们了解了搜索结果页面是如何生成的,同时搜索引擎发现一段时间内许多搜索行为是重复的,因此搜索引擎引入了搜索结果页缓存技术,本节将展开讲解。
为什么需要搜索结果页缓存
用户在使用搜索引擎进行检索时,查询词可能千差万别。但是如果从大量用户查询统计来看,会有一些词汇经常被查询,而一些词很少被查询:
- 1、前20%的查询词的查询次数占了总查询次数的80%。
- 2、查询具有稳定性,查过的词很可能在不久的将来还会被查询。
因此,搜索引擎可以为添加搜索结果页缓存机制,这样可以大大降低搜索引擎查询层的重复计算量,以及大大提高查询效率。
目前的技术能够达到在缓存中命中99%的查询,因此用户的查询绝大多数都是取自缓存,这也是为什么搜索引擎能够如此快返回查询结果的一个重要原因。
搜索结果页缓存
下图为搜索结果页缓存技术的工作流程图。
- 用户通过用户接口发出检索请求给检索代理。
- 检索代理在搜索结果页缓存中寻找是否有该查询结果缓存。
- 有的话直接获取该缓存结果并且返回给用户。
- 没有的话才进行查询计算。
小结
有了搜索结果页缓存,搜索引擎才能避免大量的重复检索,并且能保证大多数的检索可以在秒级内得到结果。
本章的内容到此结束,主要讲的是搜索引擎原理中查询服务的技术。在下一章我们将研究用户行为分析。下一节课程为《5.1、用户行为分析--用户查询与点击日志》,欢迎大家一起学习。