百度为什么不能实时收录并索引最新内容?

原文:http://www.paopaoniu.com/html/bai-du-wei-shi-me-bu-neng-shi-shi-shou-lu-bing-suo-yin-zui-xin-nei-rong-2596.html

 

 

大凡站长都会有这样一个实际感受和经验,即对有sitemap(站点索引地图)的网站,Google很快就能将新内容索引,甚至快到几分钟!

而Baidu根本不可能做到这点。就算是大网站、更新快的网站,也要一段时间。具体没有做过实验,但根本无法和Google的几分钟内容就被索引相提并论!

为什么会这样?

今天我研究Sphinx搜索引擎的时候,算是找到了点答案……

搜索引擎Sphinx研究侧记

在研究Sphinx时,采用4百万级的数据做测试(http://www.17wen.com 一起问),生成1400MB文档,总耗时382秒(6分半,速度还算不错)

虽然速度还行,但也不能增加点新内容就重建索引,所以Sphinx提供了增量索引的模式,即可将新增加的内容单独索引,然后增量索引和主索引再合并……

但即便是这个模式,在增加1个增量所有的情况下,也需要120秒进行合并索引!!

所以最后的策略是,每天凌晨4点更新一次增量索引,每周重新建立主索引!这样避免重复建立索引。但很明显,这样导致的结果就是,每天都新内容,必须是到下一天(凌晨4点后)才能被搜索到!

Google的文件体系

Google一直在宣传他的分布式文件系统,它是搜索成千上万台分布式机器。虽然我不得知Google具体的算法,但可以推测出,它的索引不是一个或者少量的分布式,而是基本并存的海量计算机上的串联!所以很容易达到当台机器上的实时(或准实时更新),也就是我们可以看到的那种几分钟就索引新内容的效果!

Baidu会是怎么样的一个系统?

显然,Baidu除了云里雾里的彰显它的分词技术外,很少详细介绍他们的搜索技术!

虽然不知道内幕,但我猜测,它肯定不是海量小索引的串联,而是几个大容量索引的群集。这种导致的结果就是,不容易实时更新,每次更新会耗费大量时间和文件操作。

所以不难推测,Baidu很难像Google那样实时更新索引。

当然,以上只是从外部表现来进行分析和推测,没有实际内部技术依据!所以,虽然不能全部相信,但也不可不信。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部