广州咨询热线:020-28295017  深圳 0755-61661831 佛山  0757-63313020
banner
当前位置:首页 > 腾讯SOSO > SOSO动态

Google海外推广透露Google Instant幕后技术难题

09/10/10 11:46:36  品牌市场部

  Google周三宣布推出即时搜索服务Google Instant后,为了节省更多的google推广价格,于是由Google工程师本·戈梅斯(Ben Gomes)亲自做google海外推广该项服务的介绍,披露了Google技术团队在开发Google Instant过程中所遇到的多项技术挑战。

 

  Google周三称,利用Google Instant服务,用户在输入搜索关键词的同时,无需点击搜索按钮,便可查看即时动态显示的不同搜索结果,以全面加快用户的搜索速度。

 

  Google搜索产品和用户体验副总裁玛丽莎·梅耶尔(Marissa Mayer)周三在一则博文中透露,Google Instant使用了一系列新技术,其中包括新的缓存系统、搜索结果适应性控制(涉及向用户实时返回哪些搜索结果)以及新的页面渲染优化技术(涉及浏览器能够与Google Instant服务保持同步)等。

 

  而戈梅斯在周四的博文中,则透露了Google Instant开发过程中所遇到的诸多技术难题,其中包括核心设计、服务架构及团队协同工作等。

 

  以下为戈梅斯周四所撰写博文全文:

 

  昨天(周三)我们介绍了Google Instant服务。利用该服务,用户在键入关键词的同时,搜索引擎会立即返回搜索结果,从而使搜索活动更为迅速并提高互动性。就像我们已对Google地图(Google Maps)Gmail电子邮件服务已采取的改进措施一样,通过Google Instant服务,我们将搜索活动由静态的HTML页面转化成AJAX应用程序。对于Google Instant的工作机制,我们已在昨天的博文中进行了阐述,但我们今天想在此披露一下Google Instant开发过程中所遇到的一些技术难题,如核心设计、服务架构等方面的挑战。

 

  设计挑战:提高相关性,降低离散性

 

  我们设计方面的主要挑战是:如何使用户不受干扰情况下,而能够注意到相关搜索结果。我们当时意识到,需要进行高强度的测试,才能找到符合要求的设计。为此我们经历了原型产品设计、可用性研究(Google社区进行了相应测试)、内部试用(Google员工参与测试)和搜索试验(让小部分Google用户参与测试)等阶段。

 

  在我们初期设计的原型产品中,部分产品的性能表现并不尽如人意。举例来说,在一项原型产品中,我们试图在向用户返回搜索结果之前,会等待用户停止键盘输入活动,但结果发现这种思路实际上行不通。我们意识到,即时搜索的处理速度应该很快才行。

 

  我们还曾考虑使用其他用户界面,即把用户不同的关键词返回结果杂揉到一起。但结果表明,这种杂揉到一起的用户界面在使用过程中,将使用户很难在键入关键词过程中加以识别。于是我们改变了思路,使用户界面是基于用户的单一搜索活动。我们将两项功能混合到一起:首先,在搜索框中以灰色文本方式预测用户的搜索结果;其次,在用户输入关键词过程中,最上面一条预测结果会随时变化。

 

  在用户参与的测试中,他们能够迅速找到与Google互动的新途径:不要停止键入活动,直到灰色文本符合自己的查询需求为止,然后再查看搜索结果。我们的测试结果表明,绝大多数用户并没有觉得Google InstantGoogle以前常规搜索服务存在任何差异,而只是觉得处理过程更快。我们对此感到非常惊讶。

 

  架构挑战:查询请求会增加5~7倍的搜索结果页面

 

  过去10多年以来,我们一直在努力提高Google搜索的性能和处理速度,并发现衡量标准应该以秒来计算。我们来到公司架构团队并对他们说:“我们希望在Google Instant的每次查询请求中,搜索引擎能够提供的搜索结果页面数量,达到常规搜索相应页面的57倍。”对于我们的这种想法,开始他们觉得不可理喻,但后来他们仍然还是提出了解决方案!要知道,在Google Instant之前,Google每天要处理10亿条以上的查询要求,而我们的系统已经经过优化,目的是使这些搜索活动能够在最短时间内完成(通常不到四分之一秒)。我们应该怎样做,才能在系统不崩溃或处理速度不减慢前提下,而处理如此海量的查询请求?

 

  其中最简单的解决方案是:大幅增加服务器的空间。但我们希望通过更为智能的方式来解决该问题。我们确实也增加了后台空间,但我们同时也采取了不同的手段,使Google Instant能够有效处理大量查询请求。在这些手段中,不少与技术措施有关,以下为一些具体例子:

 

  - 我们部署了新的缓存系统,用以处理高速度的查询要求,同时连续性地抓取网络内容,并为这些内容重新建立索引。

 

  - 我们将用户状态数据放入后台当中,以追踪已返回给用户的搜索结果。如此一来,我们就能避免向用户再次发送那些已经发送的搜索结果。

 

  - 我们对页面渲染JavaScript代码进行了优化,使用户浏览器能够保持与Google Instant搜索结果的同步。

 

  总而言之,通过上述技术手段,使我们向用户提供Google Instant服务的同时,又能保持搜索活动的快速性。

 

  协调工作

 

Google Instant开发工作将近结束时,我们将参与开发的核心技术团队集中到两个大房间当中。然后我们开始每天的商讨会(50人以上)。在经过艰苦努力后,我们都怀着激动的心情等待Google Instant即将发布。但从某种程度上讲,推出Google Instant服务,只是算是我们互动搜索服务的开始。我们将继续对产品进行调整,并希望在收集到用户反馈意见之后,使Google Instant性能能够进一步完善。虽然Google Instant意味着搜索技术的一次重大变革,但我相信,我们也会回顾过去,并对以前的搜索技术感到无比惊奇。

 

在详细的介绍后一定对于其有深刻的了解,这种方式节省了大量的google推广价格,而且推广效果也更加直观明了。

点击复制本网址,发给QQ/MSN好友