在Youtube上找App Engine的视频的时候,发现一个关于Search Infrastructure和Quality的视频,而且是由两位Google院士参与的,一位是负责Search Infrastructure的分布式大牛Jeff Dean,另一位则是负责Seacrh Quality的算法大牛Amit Singnal,接下来是我的笔记:
影响一个大型Information Retrieval系统构建的因素
-
- 需要被Index的文档数量。
- 用户的查询量。
- Index的日常更新量(Track Update)。
现在的搜索和过去的搜索的区别
主要在三个方面有非常大的区别:
-
- 系统方面:现在拥有每天能抓取Billion级别的文档,生成相应Index,并快速处理用户请求的大型系统。
- 使用量方面:由于现在用户对于搜索服务的使用量之大,使得一些以前无法想象的服务能够诞生,比如拼写纠正。
- 算法方面:现有的搜索算法不仅参考了经典的学院算法,而且也参考了多年的实际经验。
如果提高Information Retrieval系统的速度
Jeff Dean给出了非常简单的答案,那就是“并行”。
如何提高搜索质量
首先,尽量从用户的角度思考,同时好的搜索结果也很简单,那就是将用户想要的结果以最快的速度,并通过最友好的界面传递给用户。
其次,因为搜索质量这个问题决定属于一个Hard Problem,所以需要每天不间断地提升,比如,通过一个Sandbox来不断测试新的搜索算法的最新数据。
如何平衡速度和质量的关系
首先,Search Infrastructure和Search Quality这两方面需要一起努力。其次,Search Infrastructure需要更灵活,并能提供一个Sandbox来测试最新的算法和最新的数据,并可以使用一小部分用户的真实流量来测试,这点李开复也曾经提到过。
未来的发展
-
- 更高的质量。
- 更大的Index和更快的速度。
- 统一search,也就是将网页搜索,图片搜索和视频搜索等整合到一起。