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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
推荐全链路深度定制开发平台,高级版 1个月
简介: 搜索行为在后端都会有大量的数据计算和处理才会召回符合用户需求的搜索结果,本次分享结合自建搜索业务中查询分析服务常见的问题及难点,介绍阿里云开放搜索查询分析具备的能力及解决方案,并深度解读阿里巴巴查询分析服务架构和兼容Elasticsearch的架构是如何实现的

特邀嘉宾:

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

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

查询分析介绍

查询分析在搜索中的作用

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

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

查询分析链路

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

自建搜索服务面临的问题

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


开放搜索查询分析特点

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

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

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

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

  • 轻量化的去定制服务

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

  • 免运维

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

查询分析服务架构

算法服务中心

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

干预功能

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

查询分析和类目预测服务

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

查询过程

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

DIIRuntime框架

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

Elasticsearch兼容架构

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

  • 基本对齐开放搜索的查询分析能力;
  • 具备行业分词能力
  • 可干预
  • 支持扩展分词
  • 具备行业查询分析能力
  • 可配置
  • 可干预

实现架构

1.创建实例

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

2.配置查询分析

  • Mapping中设置使用响应的分析器
  • 插件功能
  • 提供通用、行业的分词能力
  • 访问查询分析服务,获取query改写结果
  • 改写Elasticsearch的查询query


>>如果有搜索效果深度优化需求,可以填写专家咨询问卷,参与试用即可免费获得开放搜索通用分词能力。问卷地址:https://c.tb.cn/F3.05Srxl

如果你想与更多开发者们进行交流、了解最前沿的搜索与推荐技术,可以钉钉扫码加入社群1111.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
27天前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
2月前
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
752 7
|
2月前
|
安全 数据处理 数据安全/隐私保护
C/S架构与B/S架构的适用场景分析
C/S架构(客户端/服务器架构)与B/S架构(浏览器/服务器架构)在适用场景上各有特点,主要取决于应用的具体需求、用户群体、系统维护成本、跨平台需求等因素。
149 6
|
3天前
|
监控 API 调度
开放源代码平台Flynn的架构与实现原理
【10月更文挑战第21天】应用程序的生命周期涉及从开发到运行的复杂过程,包括源代码、构建、部署和运行阶段。
|
11天前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性?
微服务架构中,如何确保服务之间的数据一致性?
|
17天前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
22 1
|
22天前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
40 3
|
2月前
|
存储 监控 安全
SaaS业务架构:业务能力分析
【9月更文挑战第20天】在数字化时代,软件即服务(SaaS)模式逐渐成为企业软件解决方案的首选。SaaS 业务架构设计对于提供高效、可靠的服务至关重要。其核心业务能力包括:用户管理(注册登录、角色权限)、数据管理(存储备份、安全共享)、业务流程管理(设计定制、工作流自动化)、应用集成(第三方应用、移动应用)及客户服务(支持培训、反馈改进)。通过优化这些能力,可为企业提供更高效、可靠的 SaaS 服务。
48 11
|
2月前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性
微服务架构中,如何确保服务之间的数据一致性
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。

相关产品

  • 智能开放搜索 OpenSearch