找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 283|回复: 0

搜索引擎的缓存机制

[复制链接]
发表于 2006 年 5 月 24 日 16:40:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
以前曾经提到过搜索引擎的缓存策略, 根据搜索引擎搜索的http://www.seobbs.net/read.php?tid=708

[color=blue']关键词

的统计分布, 可以优化设计搜索引擎的缓存策略. 就普通的缓存策略上讲, 缓存是因为在一定的时间段内的搜索的http://www.seobbs.net/read.php?tid=708

[color=blue']关键词

集中在一定的范围内, 并且这些搜索相对稳定. 例如每天搜索"美女"的人总有10万,20万, 而结果在这段时间相对稳定, 因此没有必要每次去检索索引文件, 而将上一个人搜索的结果直接返回便可以了.
     搜索引擎缓存策略也同搜索引擎的算法密切相连, 除了搜索缓存, 索引缓存也是一个好方法. 独立或者分布一些权重较高的文档也是一种提高效率的方法. 例如我们有1000万的网页的权重(可以简单的理解为pagerank)比较高, 那么这些网页的排序相比另外一些权重较低的网页相对较为稳定, 就不妨独立出来进行相对独立的索引缓存.

     关于缓存的分布, 一般的小型搜索引擎不会用到, 但是如果每天处理上亿次的搜索, 缓存的分布就应当有一定的分布规划, 例如根据提交的http://www.seobbs.net/read.php?tid=708

[color=blue']关键词

构成hash table, 然后对应于不同的搜索服务器, 实现缓存的分布.

     让我们看看实际例子吧, 我们拿http://www.baidu.com/

[color=blue']百度

, google, yisou, 中搜, tag.bokee.com 进行简单的测试:

     因为测试, 要搜索一些在过去7天没有人搜索过的http://www.seobbs.net/read.php?tid=708

[color=blue']关键词

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

以下是结果:
http://www.baidu.com/

[color=blue']百度

: 0.279秒
google: 0.24 秒
一搜: 0.24 秒
中搜: 0.001秒(无结果!!!!)
博客搜索: 0.041 秒

下面是第二次搜索的结果:
http://www.baidu.com/

[color=blue']百度

: 0.001秒
google: 0.05 秒
一搜: 0.09 秒
中搜: 0.002秒(无结果!!!!)
博客搜索: 0.019 秒



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

http://www.baidu.com/

[color=blue']百度

: 100
google: 5
一搜: 没有明显的缓存
中搜: 没有明显的缓存
博客搜索: 没有明显的缓存

     而在缓存效率上http://www.baidu.com/

[color=blue']百度

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

     而http://www.baidu.com/

[color=blue']百度

, 根据测试可能是集中方式的数据存储, 但是根据搜索进行hash分布, 因此才会在缓存上有显著的提升. (这个属于猜测)
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 2 日 21:58 , Processed in 0.017503 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表