新闻动态
搜索引擎缓存机制
https://www.sytm.net 发布日期:2013/9/7 12:27:57

缓存是目前所有搜索引擎都会采用的技术。所谓缓存,就是在高速内存硬件设备内开辟一块数据存储区,用来容纳常见的用户查询机搜索结果,同时采取一定的管理策略来维护存储 区内的数据。当搜索引擎接收到用户查询请求时,首先在缓存系统查找,如果能够找到直接返回搜索结果,否则才去正常的搜索流程返回搜索结果。

为何搜索引擎引入缓存机制?一则使用缓存系统能够加快用户查询相应的速度;另外还可以有效地减少搜索引擎后台计算量,节省计算资源。

对于一个正常的搜索流程,比如用户输入查询请求“搜索引擎技术”,搜索引擎需要分别将存储在磁盘上的两个单词的倒排索引读入内存,之后进行解压缩,然后求两个单词对应的列表的 交集,找到所有包含两个单词的文档集合,根据排序算法来对每个文档的相关性进行打分,按照相关度输出相关度最高的搜索结果。

以上说的这个流程涉及了磁盘的读写以及内存运算等一系列操作,相对比较耗费时间和计算资源。如果将本次搜索结果存储在缓存中,西祠遇到相同的查找请求,则可以直接将搜索结果返回,不需要经过上述的复杂流程进行计算。缓存一般用最快的内存设备进行存储,所以响应速度非常快,同时也省略了相当多的磁盘读取和计算步骤,有效地节省了计算资源。

以上搜索加速行为能够成立,其实隐含了一个假设,即:相同的用户查询会反复出现。只有这个假设成立,才能利用以上的措施来加快搜索速度,但是问题是这个假设成立吗?

这涉及用户查询分布本身具有的特点。我们先来看一下用户搜索引擎请求行为有哪些特点。目前有很多研究集中在分析用户搜索行为,通过对搜索日志的分析,可以看出如下结论。

1、至少63.5%的搜索引擎用户只看搜索结果第1页的内容;大约11.7%的搜索引擎用户翻看搜索结果第2页内容;至少79%的搜索引擎用户只查看搜索结果前3页的内容。

2、用户发出的查询请求分布符合逆POWER-LAW规则,即少数查询占了查询者总数的相当比例,而大多数查询出现次数非常少。在十亿规模的搜索日志记录中,63.7%的用户查询只出现过一次,而热门查询占搜索请求总数的比例非常高,最热门的25个用户搜索请求占了用户查询请求总数的1.2%~1.5%。

3、用户查询请求具备时间布局性,即大多数重复的用户查询会在较短暂的时间间隔内被重复访问。

通过这些调查结果可以看出,在一定的时间 间隔内,发动到搜索引擎的用户查询有相当比例的重复性,而缓存机制之所以能够运用在搜索引擎里来加快系统响应速度,与这一点是密不可分的。

更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览