鑫诺商资讯

首页 - 新闻资讯 > 鑫诺商资讯

为什么你搜索的结果和我搜索的结果不一样?

来源:https://www.xinnuoshang.cn   发布时间:2016-06-23      

    今天有位SEO的朋友告诉我,他在上个月接了个SEO单子,承诺三个月内将其客户的关键词优化到baidu自然排名前10,今天他例行检查排名,发现其关键词已经做到了一位,十分开心,立即通知客户,叫客户签收,等着收除款,但客户那边说搜不到,并没有像他说的那样排在百度一 ,一页根本没有他们的关键字。朋友开始疑问了,明明自己看到关键了排在百度一,为何到了客户那里结果就变了呢?相信大家都遇到过吧!

   导致以上的结果出现可能是百度有很多的服务器,存在这样的更新不同步问题,导致地区的差异性。

    这样就能解释,为什么会有不同搜索结果的问题了。但为什么我的朋友跟客户在同一城市里,也会存在搜索结果的不同呢?这里就涉及到一个IP定位的问题了,互联网怎么划分你是属于什么区域呢?就是将IP进行分配,比如山东内的,就放220.***.***.***号段的IP,而浙江就放222.***.***.***,那么服务器能根据用户IP来判断你所在的区域了。但是问题又来了,现在的网络服务商越来越多,不仅仅是电信一家独门生意了,这样导致很多的IP数据库赶不上了IP的诞生速度,从而有了很多IP,被无法识别,被划分错区域。

    我这也遇到过类似的情况就是我这边搜索的客户的网站一直是在一页,但是一段时间之后忽然客户那边搜不到了,但是我这边还在,后跟客户交流一下,应该确定是缓存问题。缓存是因为在一定的时间段内的搜索的关键词集中在一定的范围内,并且这些搜索相对稳定。例如每天搜索"美女"的人总有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分布, 因此才会在缓存上有显着的提升。(这个属于猜测,大家要有更合理的解释,也可以跟我们交流。)

获取互联网策划方案