1 / 17

基于日志分析的搜索引擎 查询结果缓存研究

基于日志分析的搜索引擎 查询结果缓存研究. 马宏远 王斌 ICTIR. 引言. 网民增多,对搜索引擎的使用日益频繁。同时互联网网页的规模也在不断膨胀。 搜索引擎需要尽可能多的索引网页并 迅速 提供查询结果。 缓存通过复制频繁请求的数据到速度较快的存储层次,使后续 相同 的请求得以快速访问,并减少服务器的系统负载。. 1. 主要工作. 对 sogou 搜索引擎一个月的用户查询日志进行分析,研究其面向缓存应用的工作负载特性。 通过实验和分析,研究缓存设置对搜索引擎系统优化的贡献。 这是在中文商业搜索引擎环境下,第一次对搜索引擎缓存特性进行分析。.

randi
Download Presentation

基于日志分析的搜索引擎 查询结果缓存研究

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于日志分析的搜索引擎查询结果缓存研究 马宏远 王斌 ICTIR

  2. 引言 • 网民增多,对搜索引擎的使用日益频繁。同时互联网网页的规模也在不断膨胀。 • 搜索引擎需要尽可能多的索引网页并迅速提供查询结果。 • 缓存通过复制频繁请求的数据到速度较快的存储层次,使后续相同的请求得以快速访问,并减少服务器的系统负载。

  3. 1.主要工作 • 对sogou搜索引擎一个月的用户查询日志进行分析,研究其面向缓存应用的工作负载特性。 • 通过实验和分析,研究缓存设置对搜索引擎系统优化的贡献。 • 这是在中文商业搜索引擎环境下,第一次对搜索引擎缓存特性进行分析。

  4. 2.搜索引擎查询结果缓存特性分析 • 本文中性能特性的衡量指标是命中率(Hit) Hit=Requstcache / Requst# 所有查询 命中缓存的查询

  5. 2.搜索引擎查询结果缓存特性分析 • 系统平均访问时间 Taccess=Hit*T1 + (1-Hit)*T2 T1 为缓存访问时间,T2为磁盘访问时间 有T1 << T2

  6. 2.1 局部性 • 计算机在较短时期内,程序访问局限在一定区域。这只是一种经验性质,不能保证成立,但可能性通常很高。 • 查询的词符合Zipf定律,即一个单词出现的频率与它在频率表里的排名成反比。

  7. 2.1 局部性 对查询日志的分析 频率最高的20%查询 占据了80.45%的查询请求量 查询频率(次数) 查询词按照查询频率的排序

  8. 用搜狗实验室中,sogou搜索引擎2008.8.26的53万查询数据实验,也能得出相同结果用搜狗实验室中,sogou搜索引擎2008.8.26的53万查询数据实验,也能得出相同结果 查询频率(次数) 查询词按照查询频率的排序

  9. 2.2 查询结果缓存策略 • 分为静态策略和动态策略 • 静态策略是离线方法。通过对用户查询日志的频率统计,将频率最高的一部分查询结果放到缓存中。 • 动态策略是在线方法。缓存的容量是固定的,随着时间推进,当所存的内容超过缓存容量时,就需要到替代算法。 • 最常用的算法即为LRU(最近最少使用算法)

  10. 2.2 查询结果缓存策略 实验: 以8月23日的用户查询日志作为历史信息 8月24日的用户查询日志作为测试集 命中率(%) 动态策略 静态策略 缓存容量(千个查询词)

  11. 2.2 查询结果缓存策略 命中率(%) 动态策略 静态策略 缓存容量(千个查询词) 结论1:随着缓存容量的增大,无论静态策略还是动态策略,都会获得较好的命中率 。 结论2:动态LRU策略比基于历史信息的静态策略具有更好的命中率,因为8月23日的查询集合和8月24日的查询集合重复度不高。

  12. 在《On caching search engine query results》(Markatos,2001)中,则有如下结果 SLRU 命中率(%) LRU 静态策略 缓存容量(MB)

  13. 2.2 查询结果缓存策略 两种缓存策略的对比 • 静态缓存策略只存下热门的查询;而动态缓存策略存的是最近所发生的查询,也许这些查询并不是很热门。 • 查询热点瞬息万变,而静态缓存里的查询都提取自历史信息,时效性可能会跟不上,在查询热点词时效果不好。 • 如近期搜索“斯巴达”、“张高丽”等热点词,如果静态缓存所依赖的历史信息不够新,则可能无法命中。

  14. 2.2 查询结果缓存策略 • 更好的策略:静态和动态混合的缓存策略。 • 将缓存分割为两块空间:静态缓存依然基于历史信息;动态缓存依然采用动态替换算法。 • 当一个查询请求到达,首先在静态缓存中查找;如果没有命中,则到动态缓存中查找。

  15. 2.2 查询结果缓存策略 继续试验,查询日志同上一个试验 命中率(%) 缓存容量大 缓存容量小 静态缓存的比例(从0到1) 结论1:混合缓存策略相比纯动态策略和纯静态策略,命中率都会得到一定幅度的提升。

  16. 2.2 查询结果缓存策略 继续试验,查询日志同上一个试验 命中率(%) 缓存容量大 缓存容量小 静态缓存的比例(从0到1) 结论2: 对于大容量缓存,采用混合策略,命中率几乎没有提升。 对于容量相对较小的缓存,则具有明显的效果, 如10K的缓存容量,命中率会比动态策略提升4.45个百分点。

  17. 2.2 查询结果缓存策略 继续试验,查询日志同上一个试验 命中率(%) 缓存容量大 缓存容量小 静态缓存的比例(从0到1) 结论3(来自 《On caching search engine query results》): 适中的缓存容量已经能够得到比较好的命中率,一味扩增缓存容量(如大于160K),命中率并不会有太大提高,而且内存中的缓存区也很有限。

More Related