账号通
    

账号  

密码  

2358

查看

2

回复
主题:搜索引擎的缓存机制关键词排名 [收藏主题]  
aijing1437 当前离线

141

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:205 分
登录次数:67 次
注册时间:2011/1/15
最后登录:2011/3/26
aijing1437 发表于:2011/2/25 15:58:12   | 只看该作者 查看该作者主题 楼主 
做在线知识付费 选科汛云开店

  搜索引擎的缓存机制关键词排名

  以前曾经提到过搜索引擎的缓存策略, 根据搜索引擎搜索的关键词的统计分布, 可以优化设计搜索引擎***在线咨询的缓存策略。 就普通的缓存策略上讲, 缓存是因为在一定的时间段内的搜索的关键词集中在一定的范围内, 并且这些搜索相对稳定。 例如每天搜索"美女"的人总有10万,20万, 而结果在这段时间相对稳定, 因此没有必要每次去检索索引文件, 而将上一个人搜索的结果直接返回便可以了。

  搜索引擎缓存策略也同搜索引擎的算法密切相连, 除了搜索缓存, 索引缓存也是一个好方法。 独立或者分布一些权重较高的文档也是一种提高效率的方法。 例如我们有1000万的网页的权重(可以简单的理解为pagerank)比较高, 那么这些网页上海国际男子***的排序相比另外一些权重较低的网页相对较为稳定, 就不妨独立出来进行相对独立的索引缓存。

  关于缓存的分布, 一般的小型搜索引擎不会用到, 但是如果每天处理上亿次的搜索, 缓存的分布就应当有一定的分布规划, 例如根据提交的关键词构成hash table, 然后对应于不同的搜索服务器, 实现缓存的分布。

  让我们看看实际例子吧, 我们拿百度, google, yisou, 中搜, tag.bokee.com 进行简单的测试:

  因为测试, 要搜索一些在过去7天没有人搜索过的关键词, 或者组合词。 为了保证没有人搜索过, 我选择在各个上海***在线咨询搜索引擎里搜索"a s d f v g h" , 这是我在键盘上随机打出的一些组合, 相信这世界上在7天没有人相同搜索, 这样保证我的第一次的搜索是 fresh search, 就是一定需要搜索引擎去检索索引文件, 而不是通过缓存策略。

  以下是结果:

  百度: 0.279秒

  google: 0.24 秒

  一搜: 0.24 秒

  中搜: 0.001秒(无结果!!!!)

  博客搜索: 0.041 秒

  下面是第二次搜索的结果:

  百度: 0.001秒

  google: 0.05 秒

  一搜: 0.09 秒

  中搜: 0.002秒(无结果!!!!)

  博客搜索: 0.019 秒

  经过简单的测试, 可以看出缓存机制只有在Baidu和google搜索引擎里都有, 但是各自效率不一样, 如下是简单的比例:

  百度: 100

  google: 5

  一搜: 没有明显的缓存

  中搜: 没有明显的缓存

  博客搜索: 没有明显的缓存

  而在缓存效率上百度要远远大于google, 这点大概是因为google的gfs本身的分布效率已经相当不错, 因此进行缓存也不会有数量级的提升。

  而百度, 根据测试可能是集中方式的数据存储, 但是根据搜索进行hash分布, 因此才会在缓存上有显着的提升。 (这个属于猜测)

  

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
ljljkljljlkjlkj 当前离线

55

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:78 分
登录次数:26 次
注册时间:2011/2/16
最后登录:2011/3/26
ljljkljljlkjlkj 发表于:2011/2/25 18:46:54   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
fgfhfgh 当前离线

110

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:161 分
登录次数:53 次
注册时间:2011/2/19
最后登录:2011/5/19
fgfhfgh 发表于:2011/2/25 18:55:12   | 只看该作者 查看该作者主题 藤椅 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.10938秒 powered by KesionCMS 9.0