Google Instant诞生记 对话Google Instant核心工程师本·戈麦斯

头条

日前,谷歌在旧金山发布即时搜索技术Google Instant,帮助用户在键入关键字词的同时即可得到相关搜索建议及搜索结果。谷歌副总裁玛丽莎·梅耶尔(Marissa Mayer)称Instant将为用户每年节省3.5亿小时。这个被称为搜索行业一次重要革命,“具有划时代意义”的Google Instant顿时吊起了全球用户的胃口。

本报记者于9月16日与Google Instant项目技术负责人之一、谷歌工程师本·戈麦斯进行了一场长达2个小时的交流。Google Instant从构思到研发再到测试发布的全过程,在本·戈麦斯彬彬有礼的讲述中揭开面纱。

“核心研发团队 不光在以色列”

电脑报:很荣幸在Google Instant 发布的第一时间能和你交流。

电脑报:首先我想向你求证这样一个问题。有很多媒体报道称, Google Instant完全由谷歌以色列研究院研发出来的,现在所有的人对这个以色列团队都充满了好奇?事实是这样的吗?

本·戈麦斯:我只能说这样的报道并不属实。以色列研究院是一个充满智慧、非常优秀的团队,他们在Google Instant中起到了重要的作用,但我要强调的是这个项目并不是哪个研究院独立的科研成果,而是集体智慧的结晶,除了山景城(谷歌研究院所在地,位于美国硅谷)之外,海法(以色列)、剑桥、匹兹堡、苏黎世(瑞士)和纽约的研发团队对我们都有很大帮助,包括需求调查和基础设备等方面的贡献,Instant是Google大家庭的孩子。

cfp404228040.jpg
本·戈麦斯

本·戈麦斯,出生于印度一个贫民区,他的成功被誉为现实版“贫民窟的百万富翁”。毕业于美国斯坦福大学的戈麦斯,目前担任谷歌山景城研究院资深改善型工程师,服务于Google Plex办公室。戈麦斯主要负责通过用户建议,改善Google产品体验,曾为谷歌贡献两项专利技术:反垃圾邮件和搜索算法更新。他是Google Instant的主要推动人。

一年前这个项目刚开始的时候只有一个工程师,到8月底的时候,我们已经有超过两百个工程师参与到Instant的研发、测试工作中来,平均每六周工程师的数量就要翻一倍。开发接近尾声时,Instant在山景城的核心技术团队50多个人集中在一个大房间里,每天几次的集中商讨会,对于一个研发项目小组而言,这个场面已经足够壮观。

电脑报:我在见到你之前,看到一篇文章,说一位雅虎前产品经理宣称Google Instant的搜索核心技术雅虎早在2005年就已经掌握了,即时搜索并不是新鲜事物,这种说法你怎么看?

本·戈麦斯:业内对于即时搜索的探索确实很早就开始了,至于雅虎2005年是否掌握了这样的技术,我不便发表评论。搜索产品每个用户都可以试用,有没有即时搜索的成分,一看便知。谷歌的即时搜索跟雅虎没有交集,我们的创意、构思完全来自我们自己。

电脑报:那谷歌是怎么想到要做即时搜索的?

本·戈麦斯:Google Instant的最初构想来自七年前的一次闲聊。一位到山景城参观的用户抱怨搜索引擎还不够智能,他希望更快速一些,输入的同时显示结果。我们觉得这个想法很新奇,便开始试探性地、零零散散地做了一些关于即时搜索方面的实验。直到2009年8月公司内部Google Instant项目组成立,才开始系统地进行即时搜索方面的研发和测试工作。从找到创意,到今天正式上线,Instant项目整整花了七年。

googlex390.jpg
Google工程师向大家介绍 Instant

“Google Instant每年将为用户节省3.5亿小时”

电脑报: Google Instant在业界引起热议的一大特色就是实现键入关键字的同时得到搜索结果,作为负责技术研发的工程师,你认为这一功能对用户到底有怎样的意义?

本·戈麦斯:今天我们搜索一个关键词,需要24秒才能得到你想要的结果:9秒时间输入关键词、400毫秒的网络延迟、300毫秒的服务器运算、服务器给到你结果还需要400毫秒,再用15秒时间从一堆结果中筛选自己想要的内容。我们要做的就是压缩这15秒,把15秒和前面的9秒堆叠起来,这样就可以节省下不少时间。每位用户节省下来微小的时间乘以数以亿计的谷歌用户,会得到一个惊人的数字,我们统计过,Google Instant每年将为用户节省3.5亿小时。从这个角度上可以说Google Instant是“搜索的一小步,互联网的一大步”。

电脑报:看来Google Instant真是一个庞大的工程,那么这样庞大的实时计算,是否会给谷歌服务器带来巨大的压力?

本·戈麦斯:我们希望在Google Instant的每次查询请求中,能够提供的搜索结果的页面数量,达到常规搜索相应页面的5~7倍,这是我们给架构设计团队提出的要求。当时他们感觉有些荒唐,但是不得不做。在Google Instant出生之前,谷歌每天要处理10亿条以上的查询请求,这样海量的信息处理再乘以五甚至七,怎么样在保证系统不崩溃、处理速度不减慢的前提下实现海量请求的检索?我们只能在架构设计上下工夫。欣慰的是,我们优秀的架构设计团队最终还是提供给我们一套完整且可行的方案。

电脑报:长期以来使用搜索引擎都有一个矛盾存在,那就是在以往的技术条件下,反应速度和使用体验只能二选一,是一道单选题。不知道Google Instant能不能解决这个问题?

本·戈麦斯:我们做的第一项工作是部署全新的缓存系统,用来处理高密度的查询要求。同时连续地抓取网络内容,并为这些内容建立索引。搜索请求并不是在所有时段、所有地区均匀分布,有很强的突发性和随机性。以前可能还不明显,但当搜索数据量暴增5~7倍之后,尤其热门事件关键词的突发性搜索可能给我们的服务器带来巨大的灾难。

为了防患于未然,我们将着眼点落在了缓存上,全新的大容量缓存可以起到很好的“蓄水”、“放水”作用,用以应付Instant可能带来的信息拥堵。缓存部署工作分为两部分:客户端缓存和服务器缓存,服务器缓存可以较好地起到搜索缓冲作用;客户端缓存则可以提升PC、操作系统的运行速度,通过双保险来应对可能出现的“信息洪水”。

电脑报:正如容量再大的水库也有防洪泄洪的极值,缓存可以短时间内缓解搜索资源紧张的状况,但并不能真正解决速度与体验之间的矛盾。

本·戈麦斯:所以第二步我们进行了用户行为记录,通过追踪用户以往的搜索结果,最快时间达到想要的词条,从而降低计算总量。我们曾经做过统计,用户经常会对一些关键词重复搜索,其实他们想要的结果是一致的。假如用户鲍勃第一次搜索关键词“Face”,并通过搜索结果进入了Facebook,那么第二天他再搜“Face”,为什么我们不直接提供Facebook的网址链接呢?

另外我们还对页面渲染的JavaScript代码进行优化,降低客户端搜索时的计算量。如果本地计算时间较长,也会影响用户体验,这些是前端的工作,需要与浏览器合作。

电脑报: Google Instant的最大卖点就是更迅速和更智能,迅速之前已经说了,那么智能如何体现呢?

本·戈麦斯:即时搜索会根据你所在的位置给出搜索建议和结果,假如你在华盛顿,输入Hotel即可看到当地酒店的信息,而不需要输入Hotel Washington State;另外,即时搜索是个性化的,由于之前我去过几次Hotel Monaco网站,所以在即时搜索时这个结果会被排列在最前面,Google会按照你的搜索历史推送个性化的搜索建议;另外,即时搜索有黑名单,搜索成人、仇恨、宗教冲突等内容时,Google会拒绝给出搜索建议和瞬间结果,你必须像以前那样点击搜索按钮才能完成搜索。在整个搜索过程中,你不会觉得Instant只是一个工具,它更像你的助理,帮你完成一件件复杂的工作。

“Google Instant 背后有近百个失败原型”

电脑报:谷歌是一所创意工厂,每天有源源不断的各种创意产生,创意可以灵光一现,但研发的过程可能就会很曲折了,Google Instant的研发不会也一帆风顺吧?

本·戈麦斯:当然,新鲜的创意几乎每天都有,而研发的过程却是靠一个个被否定的方案堆出来的。Google Instant的出炉经过了以下几个主要环节:原型产品设计、可用性研究(在谷歌社区进行相应测试)、内部试用(谷歌员工参与测试)和搜索试验(小部分用户参与测试)等阶段。

失败的原型作品起码近百个,甚至可以说,Instant是失败作品堆出来的。比如:我们试图在用户返回搜索结果之前稍作停顿,实现服务器的缓冲。因为用户一般在这个时候会停止键盘活动,结果发现根本行不通。以往在产品、技术条件限制下,输入关键字后需要点击“搜索”,确实会有短暂的键盘空置期。但即时搜索实时提供检索的内容,用户不再停顿,这要求我们的处理速度必须跟上。

另外,我们曾经测试过停止输入后再刷新页面给出结果。后来发现这样的体验并不好,我们认为还应该再快一些。当时我们甚至考虑过用新的界面显示出不同搜索建议关键词的搜索结果,但是因为界面太杂,容易让用户分心,这个方案最终弃之不用。

电脑报:我注意到Instant也有快捷键功能,这在在线应用中非常少见。

本·戈麦斯:是的,Instant确实具备快捷键功能。有一天我们做小组讨论时,一个同事提到不能把Google Instant单纯地作为工具,它应该是有灵性的,理解用户,并易于沟通,这是我们设计快捷键的初衷。比如按到键盘上的W,便会在浏览器中显示天气(Weather);比如采纳谷歌给出的搜索建议,可以按Tab键。为什么选择这个键呢?我们做过调研,多数人在键盘输入过程中左手承担了更多的任务,键盘左边利用率更高。左上方的Tab键相对闲置,可以为Google Instant所用。

电脑报: 现在有多少地方的用户能使用Google Instant?下一阶段Google Instant的计划是怎样的?

本·戈麦斯:Google Instant,目前只对美国、英国、法国、俄罗斯等少数国家开放,今年晚些时候可能会在全球40多个国家和地区同步开放。至于接下来的计划,我们主要还是在用户实践中不断完善Google Instant,我相信这将是一个漫长的过程。然后,过一段时间我们还将发布手机版本的Google Instant。

电脑报:很高兴今天能和你说那么多,希望以后有机会再次和你畅谈。

本·戈麦斯:那当然,一定会有机会的。