写点什么

百度技术沙龙第 5 期回顾:现代搜索核心技术(含资料下载)

  • 2010-08-19
  • 本文字数:1564 字

    阅读完需:约 5 分钟

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

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

百度索引中提供检索的数据只有百亿条,而现在每天增加的数据量已是 2-3 亿条,现在每一天增加的数据量是 2003 年一年数据的增长量。对于如此强势的增长,要对数据进行全部索引并在 200-300 个毫秒级返回检索结果几乎是不可能的,所以就要对数据进行优化。 数据是有时效性的,索引可以为分最新最常使用的、不常使用的、很少使用的和很老又不用的等。所以可以多几个索引库,并对数据进行整理,对于时效性不强的可以向后面的索引里转移,检索时对这几个索引并发检索,最后将结果合并后返回用户。对于不用的数据只是一个保存,而不提供检索,或是在检索结果很少的情况下,再多增加一个链接"点击查看更多",点击后就去查找老而全的库。虽然返回时间可能会很长,但是用户体验的感受是不会降低的。

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

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

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

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

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

关于两位演讲嘉宾的更多细节内容,请下载他们的演讲幻灯片,随后 InfoQ 中文站还会发布他们的演讲视频,敬请期待。

2010-08-19 00:355097

评论

发布
暂无评论
发现更多内容

Mybatis学习笔记--Mybatis实现CRUD,springboot注解面试题

Java 程序员 后端

Mybatis Generator最完整配置详解,Java面试

Java 程序员 后端

Mybatis 传参的各种姿势,看这一篇就足够,java使用教程下载

Java 程序员 后端

mybatis-plus代码生成器,一键生成代码,springcloud教程百度云

Java 程序员 后端

Log4j使用指南,java入门视频教程

Java 程序员 后端

Maven相关知识点整理,java基础语法的格式

Java 程序员 后端

MyBatis的jdbcType和javaType详解,spring框架入门教程

Java 程序员 后端

MyBatis详解(二)(1),轻松拿到了阿里Java高级开发工程师的offer

Java 程序员 后端

Kubernetes教程之新手安装必看(快速浏览少走弯路),java集合详解和集合面试题目

Java 程序员 后端

Linux内核结构组成之进程调度,java开发直播系统相关教程

Java 程序员 后端

Linux系统:第十章:服务器环境搭建,附Java面经

Java 程序员 后端

mybatis开发要点-insert主键ID获取和多参数传递,mybatis原理详解

Java 程序员 后端

MyCat教程【分库分表】,java教程pdf百度网盘

Java 程序员 后端

linux安装oracle XE,详解Java架构进阶面试题

Java 程序员 后端

Myabtis源码分析六-代理对象Mapper的创建流程分析,死锁全详解,一文带你搞定

Java 程序员 后端

mybatis常用注解(绝对经典),java程序设计教程张延军课后答案

Java 程序员 后端

MongoDB :第六章:Java程序操作MongoDB,mysql复合索引面试题

Java 程序员 后端

mybatis-plus使用教程,java面试题基础篇

Java 程序员 后端

Mybatis一二级缓存实现原理与使用指南,java后端技术梳理

Java 程序员 后端

Linux云服务器搭建SFTP服务器图片服务器,java线程原理

Java 程序员 后端

markdown编辑器的使用教程,Java成长路线图

Java 程序员 后端

Maven的核心概念,java面试高频知识点

Java 程序员 后端

Linux系统:第十一章:常用命令,华为java面试面经

Java 程序员 后端

MyBatis(四):参数处理器,linux运维架构师

Java 程序员 后端

MyBatis详解:spring和mybatis整合,linux视频格式转换

Java 程序员 后端

MyCat:第四章:Mycat中的概念,linux内核编译教程

Java 程序员 后端

MySQL 5,java架构师成长直通车

Java 程序员 后端

KubeVela + KEDA:为应用带来,kafka入门

Java 程序员 后端

Linux上安装Mycat和配置连接MySQL 8,三年经验月薪50k我是怎么做到的

Java 程序员 后端

MyBatis详解(二),java开发岗高频面试题全解析祖国的花朵

Java 程序员 后端

MyBatis详解(一),实战java高并发程序设计

Java 程序员 后端

百度技术沙龙第5期回顾:现代搜索核心技术(含资料下载)_数据库_霍太稳@极客邦科技_InfoQ精选文章