谷歌搜索按钮背后的秘密

时间:2022-06-22 07:08:24

谷歌搜索按钮背后的秘密

你知道2012奥运会是在伦敦举行,但你知道2012伦敦奥运会的吉祥物是什么吗?你知道伦敦奥运会的主题歌是什么?由谁来演绎?不知道没关系,谷歌会告诉你。

平淡搜索背后的奇异旅程

不到1秒的时间太过神速,让我们以慢镜头回放的方式,来仔细分解一下整个的搜索过程。

搜索引擎实际就是一个软件系统,只不过它的主要功能都是在远端的网络服务器中完成。在浏览器中打开谷歌的主页www.省略,它就相当于谷歌搜索这款“软件”的用户界面。在搜索框中输入要查询的问题(即平时所说的搜索关键词),比如输入“2012奥运会吉祥物”,然后按下搜索按钮,将它提交到谷歌服务器程序中(Web Server)。

服务器程序对提交的关键词并不立即进行搜索,还要预先做一些处理,最基本的是“切词”(Sement),即把查询短语分成一个词的序列,比如“2012奥运会吉祥物”将被切分成“2012”、“奥运”、“吉祥物”等词。如果用户输入的查询短语中包括一些使用频率极高的虚词,如“2012奥运会的吉祥物”中的“的”字,它几乎在所有文档中都会出现N次,所以没有什么查询意义,预处理阶段会将这些字词自动删去。

“2012”、“奥运”、“吉祥物”等形成本次的查询词表,被送入索引服务器(Index Server)中。索引服务器类似一本书后面的关键词索引表,它是谷歌服务器所保存的所有网页数据的索引。将本次查询的关键词与索引表进行比对匹配,定位出所有包含了该关键词的页面在文档服务器(网页数据库,DOC Server)中的位置。

最后进行一系列优化处理,去掉垃圾网页,过滤掉过度人为SEO(搜索引擎优化)过的广告网页等,尽可能将最优的查询结果返回到用户的屏幕上,以列表的形式呈现,最基本的内容包括标题、文档摘要、网页链接。通过摘要可以判断是否为自己需要的内容,点击链接即可打开实际的网页了。

至此完成一次完整的搜索。

垃圾页面是怎样过滤掉的

上例中,可以看出共搜索出59万多条的结果,却只用了0.27秒。不过,谷歌一般只显示不到1000条结果,许多相似网页会被智能过滤掉。搜索结果同时会被进行本地化处理,本土站点在查询结果中优先出现。

所谓的垃圾页面,就是其中包含的结果与我们所想要的内容相去甚远,甚至根本没有关联的页面。比如搜索“2012奥运会的吉祥物”,显示的却是连篇累牍的李莲英问候老佛爷“吉祥”的清宫小说,显然不是我们想要的结果。另外还有无穷无尽的重复内容,这些只会浪费我们宝贵的时间。

谷歌对搜索结果有一个优先排名,它是通过一套“算法”来实现,实际上就是计算机基于一系列规则所执行的一套操作指令。它首先寻找“信号”或是线索,通过这种线索确定在上百万的网页中哪种对你提出的搜索请求关联性最大。假如我们走进一家餐厅问一句“比分多少?”这未免让人莫明其妙,但如果刚刚有一场奥运会足球赛事结束,别人就会知道你想问的是什么,这就是正常对话的基本语境。谷歌算法也会智能判断你搜索的“基本语境”,从而返回最符合你需要的结果。

0.27秒背后的真相

每次搜索成千上百万条结果,每天超过几亿人次的搜索,每人每次的搜索不到1秒,如此不可思议的工作量,谷歌空间是如何做到的?这同样得益于谷歌一整套完善的搜索“算法”。

当我们将搜索请求提交到谷歌的网络服务器,服务程序会把这个查询分摊给成千上万台机器,以便它们能在同一时刻为此次搜索服务。这就好比以前是你自己一个人去杂货店买东西,而现在则有1000个人同时帮你找东西,然后把它扔到你的手推车里。

谷歌尽可能将互联网上的所有内容都存储到它的巨大数据库中(虽然不太可能),所以我们一直以为是在搜索实际的互联网,其实我们一直在搜索的是谷歌的数据库。不过因为它的数据更新非常快,所以感觉上与搜索实际的互联网也没有太多的不同。

前面说到,为了让搜索更快,谷歌有专门的索引服务器,如同为所有网页建立的“卡片目录”,网络服务器派出成千上万的“助手”同时帮你翻找这些卡片目录,效率自然是惊人的快了。索引服务器把所有的结果汇编后,文档服务器就可以据此快速抽取出所有相关的文件—巨大的数据库里的链接和文章摘录了。

当然这只是冰山一角,实际的算法远比这复杂成千上万倍。

神速搜索后的“硬道理”

软件的神奇还需要硬件的配合。当输入关键词开始查询时,不同的搜索请求会寻找最便捷的路线,通过不同的路径沿着光线电缆和其他连接方式到达位于世界各地的谷歌数据中心。每个谷歌搜索请求从用户的电脑到谷歌的数据中心,平均经历了2400公里路程。这些数据以接近光速传播,以每小时几亿英里的速度为你返回答案。

数据中心中存有大量电脑作为服务器,它们存储着庞大的数据。许多中型至大型的公司都拥有或使用某类型的数据中心,但对谷歌来说,数据中心尤其重要,它是谷歌各种网络服务的速度及安全的保证。谷歌数据中心遍布全球,每当我们存取Gmail、编辑文件、图片到Google+或者是在谷歌上搜寻资料,都是在使用谷歌其中的某一个数据中心。

谷歌数据中心主要集中于美国本土。以谷歌Dalles(达尔斯)数据中心为例,它位于俄勒冈州的波特兰以东约80英里,旁边是哥伦比亚河,河上有座大坝—Dalles大坝,大坝为数据中心提供电力,当数据中心满载运行时,消耗的电力基本上是纽卡斯尔所有家庭用电量的总和。

Dalles数据中心有2座4层楼高的冷却塔,四个装备有巨大空调设施的仓库内,放置着数十万台网络服务器,这些服务器每天处理着数十亿条谷歌网站传递给世界各个角落的用户的数据。

谷歌数据中心的服务器被安置在标准的海运集装箱中,每个集装箱可容纳1160台服务器,这些服务器由谷歌自主设计。

谷歌的数据中心高度机密,对外一致保持着神秘色彩,所以外界所知的信息十分有限。谷歌官方的数据中心说明,也是低调而简约,有兴趣的朋友可以进一步探寻:www.省略/about/datacenters。

上一篇:旗舰机时代 下一篇:Andriod小传