logo

百度技术沙龙第5期 现代搜索核心技术

作者:HelloDeveloper2019.08.04 23:47浏览量:1539

简介:在上周六举行的百度技术沙龙活动上,来自百度搜索技术部的研究员殷庆轩和去哪儿网站的搜索技术负责人何伟平,分享了如何提高搜索引擎的时效性,以及数据库在现代搜索技术中

在上周六举行的百度技术沙龙活动上,来自百度搜索技术部的研究员殷庆轩和去哪儿网站的搜索技术负责人何伟平,分享了如何提高搜索引擎的时效性,以及数据库在现代搜索技术中的应用。本文对这次活动的内容做简要总结。

 

殷庆轩在题为“搜索引擎的时效性需求满足”演讲中,主要介绍了时效性问题的定义、需求分析,以及包括收录、排序和系统等相关的技术点。比如结合当前的热点事件对突发时效性的难点进行了分析,在目前每天全球新增或者修改的网页数量以数十亿为量级的海量数据下,要在几秒或者几分钟内提供准确而详细的信息,是非常困难的。这也就要求搜索引擎具备“全、准、快、新”的特点,其中“全”即对数据的收录详细程度,”准“为对相关数据进行排序,而”快“则是确保系统能够以最快的速度响应用户的需求。现场参会者周志奇对这个话题也做了简单总结:

 

百度索引中提供检索的数据只有百亿条,而现在每天增加的数据量已是 2-3 亿条,现在每一天增加的数据量是 2003 年一年数据的增长量。对于如此强势的增长,要对数据进行全部索引并在 200-300 个毫秒级返回检索结果几乎是不可能的,所以就要对数据进行优化。

 

数据是有时效性的,索引可以为分最新最常使用的、不常使用的、很少使用的和很老又不用的等。所以可以多几个索引库,并对数据进行整理,对于时效性不强的可以向后面的索引里转移,检索时对这几个索引并发检索,最后将结果合并后返回用户。对于不用的数据只是一个保存,而不提供检索,或是在检索结果很少的情况下,再多增加一个链接"点击查看更多",点击后就去查找老而全的库。虽然返回时间可能会很长,但是用户体验的感受是不会降低的。

 

来自去哪儿的工程师和搜索技术负责人何伟平,在活动现场分享了”数据库在现代搜索技术中的应用“。在加入去哪儿之前,何伟平在雅虎中国研发中心从事网页搜索相关工作,并且是 PostgreSQL 数据库研究人员和中文文档维护人员,在数据库技术领域有自己的见解。在他的演讲中,他先是介绍了数据库的演变史,而后重点介绍了数据库和现代搜索的关系,比如 SQL 数据库并没有过时,SQL 数据库也有强大的扩展能力,用好了也可以拥有很好的性能。他也提到对于中等业务规模,访问量也不是非常巨大,而对需求要求灵活的网站,选择 SQL 数据库是比较理想的。在谈到使用 SQL 数据库来做搜索的优缺点时,他提到:

 

简而言之,用 SQL 数据库来做搜索,其有点是简单、方便、通用,而且易于维护;不足之处是需要比较强的专业知识,而且可能需要额外的编码等。

 

最后他以下拉提示、相关推荐、站内搜索和垂直引擎等几个案例分享了他对现代搜索技术的看法。在提问环节,有参会者问道”去哪儿网站在抓取航班数据的时候如何确保时效性“,何伟平解释说:

 

这个问题和刚才百度朋友提到的时效性挺像的,我们最头疼的地方也是时效和 Cache(缓存)之间的关系,我们采取的是比较短的时间 Cache 策略,这是(系统)比较长时间运行出来的经验,一般也就几秒钟就足够了。比如热门的航线,比如京沪,我们几乎是实时地去抓,但也不是真的实时,因为用户的使用习惯是一旦查到一个结果后都会再刷好几次,它刷的这几次就需要坚决地不去影响后面的网站或者航信系统。我们一般是这样考虑的!

 

也有参会者在会后记录了自己参会的一些感触,比如来自凤凰网的孙立,在他的”实时搜索之微博“博客中提到”这也是我第一次参加 InfoQ 的聚会,感觉非常不错,不但免费,而且内容质量非常高,活动形式也非常的好,不幸的是回来后感冒发烧了。“他还记录了在现场活动的 OpenSpace“每一个人都是讲师”环节自己小组所讨论的主要内容,如果构建一个基于微博的实时搜索系统。

相关文章推荐

发表评论