头图

开放搜索查询分析服务架构解读

简介: 搜索行为在后端都会有大量的数据计算和处理才会召回符合用户需求的搜索结果,本次分享结合自建搜索业务中查询分析服务常见的问题及难点,介绍阿里云开放搜索查询分析具备的能力及解决方案,并深度解读阿里巴巴查询分析服务架构和兼容Elasticsearch的架构是如何实现的
特邀嘉宾:

项招贵(项公)--阿里巴巴高级技术专家

视频地址:https://yqh.aliyun.com/live/o...

查询分析介绍

查询分析在搜索中的作用

在搜索请求的处理过程中可以在工程实现上分为两个阶段,召回和排序。在召回阶段需要尽可能的把用户想要的文档在引擎中找到,在排序阶段需要将最满足需求的文档排在最前面去返回给用户。

通过查询分析可以快速进行处理和分析,比如,往往在实际的生产环境中,用户往往会有一些错误的输入,需要进行query纠错。 其次我们需要对query分词并且识别其中不同词的重要程度,这有助于我们在召回和排序中去使用。 同时由于实际的环境中存在一词多意,所以要进行同义词的扩展。 其次需要对用户的query进行改写去帮助引擎更高效的去执行召回。在query处理的阶段,会输出一些信息去以帮助我们在排序时候跟文档去算一些文档的相关性、类目相关性、以及通过一些将文本进行向量化去算它的语义相关性等。

image.png

查询分析链路

总的来说,查询分析的作用就是对用户输入的query进行分析和改写,去提升我们系统的召回的准确率和排序的相关性。 下面通过简单的例子介绍开放搜索的查询分析的功能。

image.png

自建搜索服务面临的问题

  • 需要行业领域知识不断积累;
  • 缺少大量行业样本数据,自研难度大;
  • 算法调优、工程开发、日常运维需要持续的人力投入;

开放搜索查询分析特点

面向行业提供完整的查询分析解决方案

针对特定领域提供算法功能,以及对某些特定的算法功能进行优化。例如,电商行业,开放搜索提供了实体识别。教育行业,往往不仅是文本,也有可能是副文本或图片,所以对query进行了一个文本向量化的功能。有些功能在不同的行业里面我们也会针对性的去做优化,像拼写纠错或同义词的挖掘等等。

查询分析每一个功能均可干预

干预是实时生效的, 包含实体识别、拼写纠错、停用词、词权重,同义词,类目预测等。

轻量化的去定制服务

根据客户不同的业务场景去配置他的查询分析的能力,开放搜索提供这些能力功能的全集,用户可以根据实际需求选择其中一部分能力在实际生产环境中使用。 其次支持用户使用多种不同类型的查询分析,或者说是不同的查询分析的配置。

免运维

免除用户日常的运维的持续的投入。

image.png

查询分析服务架构

算法服务中心

  • 算法功能的发布,迭代;
  • 用户模型的增删改查;
  • 算法模型的训练;
  • 算法模型的回流;

    干预功能

  • 用户干预数据的增删改查;
  • 实时同步干预数据到查询分析服务中;

    查询分析和类目预测服务

  • 加载词典、模型、数据、配置;
  • 不同行业通过不同的服务链配置来实现;
  • 加载用户干预数据;

    查询过程

  • 根据用户配置的功能执行对应的查询分析链;
  • 改写的query发给引擎执行查询;
    image.png

DIIRuntime框架

  • 支持多种不同类型的索引,满足算法对各种不同类型数据的高效访问;
  • 索引构建、分发、加载、查询统一,降低开发和运维成本;
  • 链式服务框架,灵活组链,支持不同场景的功能;
  • 算法开发只需要关注算法功能本身逻辑的实现,简单快捷;

image.png

Elasticsearch兼容架构

开放搜索Elasticsearch引擎查询分析功能

基本对齐开放搜索的查询分析能力;

具备行业分词能力

可干预

支持扩展分词

具备行业查询分析能力

可配置

可干预

image.png

实现架构

1.创建实例

创建开放搜索实例,关联Aliyun Elasticsearch的实例
安装插件

2.配置查询分析

Mapping中设置使用响应的分析器

插件功能

提供通用、行业的分词能力

访问查询分析服务,获取query改写结果

改写Elasticsearch的查询query

image.png

原文链接
本文为阿里云原创内容,未经允许不得转载。


阿里云栖号
汇集阿里技术精粹-yq.aliyun.com

阿里云官网内容平台!

27.6k 声望
35.6k 粉丝
0 条评论
推荐阅读
基础篇丨链路追踪(Tracing)其实很简单
当周末躺在被窝里,点外卖时;双 11 的零点,疯狂提交订单时;假期和基友激情开黑,五杀超神…在这个精彩纷呈的互联网世界里,这些应用背后又隐藏着什么?每一次点击行为在 IT 世界里会流经哪些节点,调用哪些服务...

阿里云云栖号阅读 141

vue脚手架多页自动化生成实践
在前端开发过程中,常常面对多种业务场景。到目前为止,前端对于不同场景的处理通常会采用不同的渲染方案来组合处理,常见的渲染方案包括:CSR(Client Side Rendering)、SSR(Server Side Rendering)、SSG(Static ...

维李设论1阅读 727

封面图
ArchKeeper (开篇):架构守护平台的问题与理念
在敏捷开发环境下,系统通过迭代增量的交付价值,系统架构也是如此。团队不可能在项目之初就建立完美的系统架构,系统架构应该随着系统迭代不断演进。架构演进和架构腐化是看待架构的不同视角:架构腐化着眼于现...

京东云开发者1阅读 140

封面图
手写模拟Spring底层原理-Bean的创建与获取
大家好,相信大家对Spring的底层原理都有一定的了解,这里我们会针对Spring底层原理,在海量的Spring源代码中进行抽丝剥茧手动实现一个Spring简易版本,来促进我们对Spring架构有个更深的理解,对Spring的常用功...

京东云开发者1阅读 408

封面图
深入解析开务数据库分布式 SQL 引擎架构的五大服务组件
与传统关系型数据库相比,分布式数据库系统具有多集群、多节点、高并发等特性,这就需要分布式数据库的 SQL 引擎能够在满足用户常规的 SQL 请求以外,提供多集群、多节点协同计算的能力,从而提高查询效率。本文...

KaiwuDB阅读 859

封面图
单测在商家前端业务中的实践
商家系统是提供给得物商家在得物平台上可以稳定运营的服务抓手,前端代码也伴随着系统的发展而不断壮大。这样将导致文档却更新不及时,最后想再通过这些文档回溯业务逻辑也非常困难。

得物技术阅读 831

VOP 消息仓库演进之路|如何设计一个亿级企业消息平台
VOP作为京东企业业务对外的API对接采购供应链解决方案平台,一直致力于从企业采购数字化领域出发,发挥京东数智化供应链能力,通过产业链上下游耦合与链接,有效助力企业客户的成本优化与资产效能提升。本文将介...

京东云开发者2阅读 185

封面图

阿里云官网内容平台!

27.6k 声望
35.6k 粉丝
宣传栏