http://www.cnblogs.com/printN/p/6414854.html

谷歌(Google),一个非常成功,但又十分神秘,而且带有几分理想化色彩的互联网搜索巨人,它还是一家相当了不起的广告公司,谷歌首页上的那个搜索按钮是其年赢利200亿美元的杀手级应用,也是Internet首屈一指的商业和技术神话。近日国外一家网站(PPCblog)精心绘制了一张谷歌搜索流程图,这张流程图展示了每天拥有3亿次点击量的Google搜索按钮背后搜索引擎在那不到1秒的响应时间内所进行的处理。

在你点击了Google搜索按钮之后到看到结果这不足1秒钟的时间内,它做了什么?互联网上的内容如何被谷歌找到?什么样的内容会被收录?想必大家一定都想知道谷歌搜索按钮背后的秘密吧。别急,开始之前我们先来看一下神秘的谷歌数据中心。

  谷歌自家设计服务器

  谷歌的数据中心高度机密,我们所能得到的信息十分有限。我们先来看几个数据:谷歌在美国本土的数据中心有19个以上,另有17个分布在美国以外的世界各地;每个数据中心有50万平方英尺(46450平方米),建造一个数据中心要花费约6亿美元;谷歌的数据中心是世界上最高效的设施之一,非常环保;数据中心使用50-100兆瓦的电力,考虑到冷却问题,通常建在便于用水的地方;谷歌的服务器被安置在标准的海运集装箱中,每个集装箱可容纳1160台服务器。关于谷歌的数据中心,我们就只知道这么多了。

图1 谷歌自家设计的服务器

图2服务器自备电池

  谷歌拥有的数十万台服务器都是自己设计的,它们认为这是公司的核心技术之一。每台服务器都配有一颗12伏电池,确保万一主电源断电时还可持续供电。

  至于为什么为每台服务器配备电池,谷歌的回答是成本。一般数据中心多依赖UPS(不间断电源系统),这基本上算是大电池,会在主电力失效而发电机还来不及启动时暂时协助供电。而谷歌认为直接把电力内建到服务器更便宜,而且成本能直接跟服务器数量相符合,如此便不会浪费多余的容量。另一个原因是效率,大型UPS可达92-95%的效率,这意味着许多电力还是被浪费掉了,但谷歌采用的内建电池作法效率超过99.9%。

图3 谷歌的服务器被安装在集装箱中,每个集装箱容纳1160台

图4工作中的谷歌员工

  谷歌如何找到并收录你上传的内容?

图5发生在用户搜索之前

  谷歌使用它的"爬虫"工具在一刻不停地周游互联网世界的每一个角落。上图中间的6个步骤依次描绘了从内容出现在互联网上到内容被收录进谷歌的数据库供用户检索这一过程,其中第2、3、5步又有许多分支,所有这些都是为了建立一个信息"集汇池",这是第一个阶段的工作,第二个阶段才是从这个"池"中为用户筛选他们所需要的内容。接下来我们一步步看谷歌是如何搜集并整合信息的。

1、网友上传内容,比如博客、微博或其它类型的WEB内容被更新到网上。
2、Google的"爬虫"发现了这一更新。在这一步,谷歌加入了许多判断机制,主要包括以下几点:
2.1、Google的"爬虫"沿着链接路径(URL)周游互联网,但如果没有URL指向某一站点,则这一站点将不会被索引。
2.2、如果你在robots.txt中设置了不许索引(部分或全部),Google的"爬虫"将不会抓取你站点上的相应内容。
2.3、如果指向你站点的连接上有nofollow标签,Google的"爬虫"将不会从这些URL路径来到你的站点。如下图:

网页原代码中的nofollow标签

  URL就像是Google"爬虫"周游互联网时的路标,谷歌当然希望收录有价值的网页,所以必须采取一种机制分辨哪些URL是垃圾信息,nofollow标签正是谷歌所倡导的方法之一。网站的合法更新人员几乎不会上传垃圾URL,但它们往往大量出现在评论跟帖和论坛中,就像上图中的例子,这些URL对于谷歌来讲是没有意义的,为了防止"爬虫"经由这些URL到达某一站点,在源代码中它们都会自动被加上nofollow标签。

  2.4、Google也能通过blog软件或xml站点地图找到你的网站。

  2.5、从权威性越高的网站链接到你网站的URL越多,你的网站的权威性也就越高,但Google"爬虫"始终会忽略被加上了nofollow标签的URL。

  上面这几点大概就是谷歌在收录信息时对内容提出的"准入"要求,看来在一些开放的地方(比如论坛)大量发布URL以求让谷歌关注,这一小伎俩是没有什么效果的。以上是信息被谷歌收录之前所发生的事,一旦信息被谷歌收录了会发生什么呢?请往下看:

图8信息"素材"的存储

  3、信息被谷歌收录之后当然也要进行加工处理,主要包括两个步骤,一是信息"素材"的存储,二是对收录的信息按要求进行优化,上图描绘了"素材"的存储方式,主要包括两部分:网页标题和链接数据被保存在一个索引中,用于广度优先搜索(可见文章标题是多么的重要,做编辑的一定要有驾驭标题党的觉悟);网页内容保存在另一个索引中,以用于检索频率不高的长尾、个性化、深度优先搜索。

  此时可能你已经明白了,当你用谷歌搜索时,你并没有在检索时时更新的互联网,而是在检索谷歌的缓存,只是谷歌更新的速度非常快,以让其缓存尽量与互联网上的内容同步。

图9优化已收录的信息

  4、谷歌基于URL评估域名和网页的总体权威性。

  5、检查网页以防止作弊行为,包括以下几点:

  5.1、谷歌的搜索质量和反垃圾信息审查。

  5.2、1万多远程测试用户评价搜索结果的质量。

  5.3、谷歌征请用户对有PageRank讹诈嫌疑的垃圾信息进行举报。

  5.4、谷歌根据数字千年版权法(DMCA)去除盗版内容。

  6、在对页面进行分析之后,每个页面都被附加上很多用于辅助用户搜索的数据片。

  从信息出现在互联网上到被谷歌收录,然后谷歌对这些数据进行分析优化,至此,一个实时更新的互联网信息"集汇池"就建立起来了,可以说谷歌存储着整个互联网的快照。以上就是我们在按谷歌搜索按钮之前它所做的事情,接下来我们看一下谷歌如何响应用户的搜索请求,另外谷歌的广告是如何来到我们面前的,不要忘记,谷歌可是靠广告营生的。

  只要有人用谷歌的服务它就能从中赚钱,就怕像安卓(Android)手机系统那样,有些流氓厂家把安卓装在了自己的智能手机中,但是把其上谷歌的各种服务全部抹掉,改用自己的服务,这样谷歌当然不干了,所以安卓一更新,这些流氓手机厂家就紧张。

  谷歌如何帮助用户进行搜索?

图10从用户开始检索到生成初步结果

  从用户开始检索到生成初步结果(这时的结果并不会直接呈现给用户),经历了4个步骤:

  1、用户发出搜索请求。谷歌搜索质量工程师PatrickRiley说:在大多数搜索中,你的搜索处于多个并行的控制过程或谷歌实验室的创新项目组过程中,可以说每一个查询请求都会参与一些谷歌的创意实验。我们都是小白鼠?

  2、谷歌会对用户输入的关键词提供一些建议。

  3、谷歌会用同义词匹配与你的搜索关键词语义相近的查询结果。

  4、生成初步的查询结果,虽然谷歌宣称可以找到成千上万的相关结果,但一般只显示不到1000条,同时查询结果将被进行本地化处理,本土站点在查询结果中优先出现。

  搜索结果将如何被优化?

  1、对查询结果按权威性和PageRank进行排序,重复的查询结果被剔除。此时的查询结果已接近最终形态,在这一基础上,有两个进程将分开进行--查询结果优化和为其匹配相应的广告。我们先来看查询结果优化。

图11对查询结果进行过滤处理

  2、对查询结果进行过滤处理。包括以下几点:

  2.1、对通常的查询,谷歌会把相关的专题性垂直搜索结果(比如新闻、购物、视频、书籍、地图等)也加到返回的查询结果中。

  2.2、个性化,用户访问过的网站在查询结果列表中会更靠上

  2.3、大量使用锚点的网站有可能被从查询结果中删除

  2.4、如果网页被其他高PageRank的网站引用,则网页的重要性会大大提高。

  2.5、趋势分析:对搜索流量爆增或有大量新闻的搜索关键词,谷歌会在新的查询结果中增加额外的PageRank权值。

  2.6、同一个域名下的多个网页如果具有相同的PageRank会被归为一组。

  2.7、查询结果最终形成(将与广告一同显示)

  搜索结果与广告

图12 用户所搜索的内容如何与广告相结合?

  1、Google根据关键词、广告类型、用户所处位置找出相关的被竞价拍卖的关键词广告

  1.1、关键词广告必须遵守当地法律条文。广告业主的非法广告将被取缔,如果关键词的搜索流量过低或关键词广告点击量偏低,则会被自动禁用,出于商业策略,像亚马逊这样的客户会给予优惠折扣。

  1.2、关键词相关广告按收益潜力排序。

  1.3、对广告业主来说广告内容一般是固定的,但有时使用动态关键词使关键词广告与搜索关键词相关度更高。一些广告允许增加附属信息,比如网站链接、电话号码、产品链接、地址等。

  1.4、如果广告拥有相当高的点击率,则会显示在搜索结果列表的上方,以使其更显眼。

  1.5、其余的广告依序显示在页面右侧

  经过上述一系列复杂的信息处理过程,最终返回给用户的是一个个性化的、具备地理位置特征的、布局简洁的查询结果页面,当然还精确匹配了广告,所有这些步骤在总共不到1秒的时间内完成,每天3亿次的点击量给Google带来了超过200亿美元的年收入

  关于精确广告匹配的小例子,请看下图:

图13思科路由器的广告北京搜索结果

图14思科路由器的广告广州搜索结果

  海芯博业的广告下面标注了北京市三个字,可见这是一个地区性的广告推广,在广州搜索结果中不可见。

  谷歌官方对其搜索技术的叙述

  我们搜索技术的后端软件会在服务器侧触发一系列执行时间不到1秒的并行计算,谷歌问世前的传统搜索引擎的搜索结果严重依赖于关键词在页面上出现的频度,我们使用了200多个指标信号(其中包括我们拥有专利的PageRank页面等级加权算法)用来检查万维网的链接结构并决定网页的重要程度。

  我们假定一个网页的重要程度取决于别的页面对它的引用,就像学术论文中的引用指数一样,重要的论文总是会被很多其他论文引用。然后我们再根据搜索条件进行超文本匹配分析(对"爬虫"抓取的页面内容进行关键词倒排索引检索)确定跟搜索请求最相关的网页。综合最重要的网页和跟搜索请求最相关的网页两个方面,我们就能按重要程度和用户搜索请求相关程度把查询结果排序后呈现给我们的用户。

  附:Googlegraphic原图。

复杂的1秒--图解Google搜索技术相关推荐

  1. 复杂的1秒 图解Google搜索技术

    谷歌自家设计服务器 谷歌的数据中心高度机密,我们所能得到的信息十分有限.我们先来看几个数据:谷歌在美国本土的数据中心有19个以上,另有17个分布在美国以外的世界各地;每个数据中心有50万平方英尺(46 ...

  2. 图解Google搜索技术(续)

    原文 http://server.51cto.com/NGDC-221158_3.htm 搜索结果将如何被优化? 1.对查询结果按权威性和PageRank进行排序,重复的查询结果被剔除.此时的查询结果 ...

  3. 图解Google搜索技术

    原文 http://server.51cto.com/NGDC-221158.htm 谷歌(Google),一个非常成功,但又十分神秘,而且带有几分理想化色彩的互 联网搜索巨人,它还是一家相当了不起的 ...

  4. 图解Google搜索秘籍:使用快捷键 善用数据库

    2月24日,<商业周刊>近日刊登名为<五招图解 Google 搜索秘籍>的文章,详细分析利用Google 搜索信息技巧.以下为全文: 江湖上有这么一说:欲练神功,必先谷歌 而你 ...

  5. Google搜索正在“死亡”

    导读:当我们在用Google搜索时,会发现搜索结果靠前的都是广告或者垃圾SEO优化信息,Google搜索答案的质量变差.关于Google搜索的负面评论近年来层出不穷,有人指出Reddit现在正变成更好 ...

  6. 百度和 Google 的搜索技术是一个量级吗?

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Kenny Chao 链接:http://www.zhihu.com/question/22447908/answer/2 ...

  7. google网络搜索技术[z]

    这篇文章中,我们介绍了google,它是一个大型的搜索引擎(of a large-scale search engine)的原型,搜索引擎在超文本中应用广泛.Google的设计能够高效地抓网页并建立索 ...

  8. 这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的理解。

    XEIM这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的 ...

  9. Google再下一城,百度应专注搜索技术

    日前.Google中国已与中国移动续约,为中国移动"移动梦网"提供移动搜索技术支持服务.同时,Google中国方面还确定与新浪无线签订合作协议提供Google移动搜索技术. 截至目 ...

最新文章

  1. 电脑卡顿不流畅怎么解决_使命召唤17画面卡顿怎么办-使命召唤17画面卡顿解决方法...
  2. USG防火墙单出口接入互联网
  3. bitmap xml大小 安卓_一张壁纸让安卓用户手机系统崩溃,包括三星、小米、一加等...
  4. word打开文档很久很慢_word文档打开特别慢怎么解决,word10打开文档很慢
  5. nodeJS中的异步编程
  6. 5训练需要更改参数吗_糖尿病病人需要多喝水吗?多喝水的5大好处,了解一下...
  7. Android WebView常见问题及解决方案汇总【很全很实用】
  8. 员工的不幸?还是公司的悲哀?
  9. angular页面打印局部功能实现方法思考
  10. TINA-TI仿真软件使用教程
  11. MATLAB学习 之 创建向量
  12. python给矩阵赋值_python 实现矩阵旋转
  13. 阿里云短信服务java发送短信验证码
  14. 热血传奇C++版官网
  15. 题解报告——Sandy的卡片
  16. 在k8s上部署cerebro访问集群外部署的es
  17. SQLite的使用------图片存储
  18. 我的第六个项目:实现一个任意图片下载器
  19. ArrayList常用方法
  20. JQuery入门总结(三)【选择器、方法、Json】

热门文章

  1. centos 配置证书_如何在CentOS 8上设置和配置证书颁发机构(CA)
  2. 深圳十大绝美看海圣地|深圳海边一日游攻略
  3. 小学四年级认识计算机教案,四年级上信息技术教案:认识计算机内蒙版(四起点).docx...
  4. matlab中的~用法和~=
  5. 送什么礼物给小学生比较有纪念意义?适合送小学生的小礼物
  6. nodejs在windows系统下的升级
  7. 135编辑器html点击图片播放音乐,怎么用135编辑器排版 公众号怎么做点击切换图片...
  8. 权威发布丨2022 中国开源先锋 33 人之心尖上的开源人物
  9. 强化学习蘑菇书Easy RL第一章
  10. VTK-医学三维图像四视图显示以及鼠标滑轮控制切片交互