简介:淘宝每次的搜索行为在后端都会有大量的数据计算和处理才会召回符合用户需求的搜索结果,当面对的业务愈来愈多如何在工程体系上不断演化知足不一样业务的需求?特邀阿里巴巴技术专家介绍统一召回引擎,带你了解如何应对~
特邀嘉宾:算法
项昭贵(项公)-阿里巴巴高级技术专家后端
视频地址: https://summit.aliyun.com/2021/session/689session
阿里自研的整套搜索工程体系-AI Online Serving体系,目前支撑起海内外阿里电商所有的搜索、推荐、广告业务,时刻置身大数据主战场,引导成交占据集团电商大盘主体;此外,做为中台技术中坚,AI·OS已经是包括电商、阿里云、优酷、菜鸟、盒马、钉钉等等在内全集团的基础设施,更为重要的是,AI·OS体系的云产品(开放搜索和智能推荐)矩阵经过阿里云服务于全球开发者,在稳定性和工程效率上都是行业领先水平。架构
左图是搜索引擎HA3和推荐引擎BE的不一样执行流程,咱们将各引擎功能抽象成算子,把基础功能造成公共算子库,用户能够直接复用和根据业务需求开发,造成右图的Suez框架。并发
1.查询流程DAG化框架
2.多种查询表达方式机器学习
等.....分布式
能够灵活定制执行流程,加速业务迭代速度高并发
既要,又要,还要性能
数据规模膨胀体如今数据维度愈来愈多。例如电商搜索领域之前只考虑商家、商品两个维度,如今还须要考虑物流、位置等维度。传统引擎处理把这些数据在离线处理join成一张大宽表推给在线作索引构建和查询服务,这会有个问题,极可能出现一个辅表数据更新致使大量的主表数据更新,从而出现写数据扩大的问题,对在线服务的时效性有很大的挑战,在一些场景上很可贵到知足,尤为大促场景很难知足要求低延迟高时效的需求。
传统解决方案:
将数据按必定维度拆分经过多个引擎实例去提供服务,由业务方来将一次查询拆分红多个请求访问多个引擎,实现搜索结果。
存在的问题:
例如外卖平台搜索,发现想搜索的店铺由于配送时间或距离缘由没有match上,致使意图搜索菜单没有体现,用户体验不佳;
数据规模膨胀另外一个体现是数据量变大,数据量变大致使单个搜索加载提供查询的时间变多。
传统解决方案:
一个是将索引进行扩裂,可能带来请求的拆分和结果的合并,随着个数愈来愈多,耗时愈来愈大,逐渐成为技术瓶颈。另外一个是当搜索个数多时,整个集群的稳定性和可用性受到损害,对用户而言存在查询结果不稳定状况。
3.并行查询,下降延迟的利器
把索引数据按必定维度切分,在处理用户的查询请求时能够根据不一样的切分并行的查询,从而下降整个查询的延迟,也避免了经过扩裂的方式带来的问题。
4.向量召回,深度学习在召回阶段应用
在信息丰富的今天,咱们的查询引擎光靠文本查询很难知足业务的需求
打造个性化推荐效果的召回引擎
开放搜索(OpenSearch)是基于阿里巴巴自主研发的大规模分布式搜索引擎搭建的一站式智能搜索业务开发平台,经过内置各行业的查询语义理解、机器学习排序算法等能力,提供充分开放的引擎能力,助力开发者快速搭建更高性能、更高搜索基线效果的智能搜索服务。
本文内容由阿里云实名注册用户自发贡献,版权归原做者全部,阿里云开发者社区不拥有其著做权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。若是您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将马上删除涉嫌侵权内容。