一文详解 | 开放搜索兼容Elasticsearch做召回引擎
简介:开放搜索发布开源兼容版,支持阿里云Elasticsearch做搜索召回引擎,本文详细介绍阿里云ES用户如何通过接入开放搜索兼容版丰富行业分词库,提升查询语义理解能力,无需开发、算法投入,即可获得淘系同款搜索效果。
开放搜索开源兼容版简介
很多客户在搭建搜索业务时更熟悉开源技术栈,会选择Elasticsearch/Solr等开源引擎负责搜索的召回环节,然而在召回引擎以外训练NLP、排序等算法能力,不仅耗时耗力,而且大部分处于高投入低回报的状态。
开放搜索开源兼容版的Elasticsearch引擎则是基于阿里巴巴在搜索领域的积累,开放搜索的Elasticsearch引擎实例作为一个阿里云Elasticsearch的插件,运行在用户的阿里云Elasticsearch集群中,提供阿里自研行业分词能力、Query分析理解能力,从而减少了用户对算法模块的投入,可以将更多精力投入到业务转化、产品功能等需求上。
业务流程图:
开放搜索兼容版优势
- 基于阿里巴巴多年词库积累及达摩院NLP技术,丰富Elasticsearch开源引擎分词库,提升搜索效果;
在通用分词基础上还增加行业分词能力,可覆盖电商、IT内容、教育、游戏、互娱等行业。
- 赋予Elasticsearch引擎Query理解能力,精准定位用户搜索意图;
通过对Query进行一系列智能语义分析(拼写纠错、同义词改写、词权重、停用词、实体识别)理解用户搜索意图,改写用户搜索Query,使召回结果更符合需求;
用户可根据自身业务进行调整和优化,高效响应搜索需求,提升搜索效果和用户体验;
开源兼容版ES引擎实例创建及配置
一、创建Elasticsearch引擎实例
1.登录开放搜索控制台,并进入实例管理-Elasticsearch引擎页面,点击创建应用:
2.页面会跳转至Elasticsearch搜索增强版售卖页,选择创建应用需要的商量类型、地域,填写好应用名称,选择资源组,最后点击立即购买即可:
3.创建成功后,即可在实例管理-Elasticsearch引擎页面查看新创建的应用实例:
二、配置Elasticsearch引擎实例
配置应用包含关联阿里云Elasticsearch实例、安装插件、配置完成三步:
- 实例管理-Elasticsearch引擎页面,找到待配置状态的实例,点击配置,进入关联阿里云Elasticsearch应用页面:

- 安装插件:
- 点击“确定”,则开始安装自定义插件(会触发Elasticsearch集群重启):
- 配置成功,等待插件安装:
三、Elasticsearch引擎实例搜索测试
- 在阿里云Elasticsearch控制台实例详情页中确认开放搜索的“Elasticsearch搜索增强版自定义插件”是否已经安装:

- 登录Elasticsearch可视化控制台通过Dev Tools工具测试已安装的插件:


了解更多详细配置内容,查看产品文档:开源兼容版实例 - 智能开放搜索 OpenSearch - 阿里云
客户案例
某新零售客户,打造1公里社区网店服务,为用户提供吃、喝、玩、乐一体化生活服务。
客户搜索业务痛点
- 自建搜索效果差,搜不准、搜不到直接影响用户体验;
- 缺乏行业分词库,自研难度大,开发周期长,难以响应业务需求;
- 成熟的搜索引擎涉及离线模块、在线模块、查询理解服务、算法平台等系统组成,所需大量开发、算法调优以及持续的复杂运维工作,自建成本高;
开源兼容版解决方案
- 调用开放搜索电商行业分词库
集成淘宝搜索同款电商分词器,训练语料来自淘宝搜索多年积累的百万级有标注的电商行业数据,可准确识别商品品牌、品类、产品特性等电商属性query;


- 调用电商查询语义理解功能
- 电商拼写纠错
用户输入的query并不总是正确的,错误的输入可能导致查询结果不符合预期或者是无结果,因此需要对用户的输入进行拼写检查。OpenSearch的查询分析中提供的拼写检查功能,对查询词中的错误进行纠正,给出正确的查询词。并根据纠错的可信度高低,决定当前查询是否用纠错后的词进行查询。

- 电商同义词
同义词功能主要是对查询词进行同义扩展,扩大召回和查询词同义的文档。


- 电商实体识别
全称命名实体识别(Named Entity Recognition,简称NER),指对查询词中的具有特定意义的语义实体进行识别。查询分析根据识别的结果,依据实体类型的权重对查询词进行改写,使得召回的文档符合查询的意图。
效果反馈
无需额外投入人力资源,在不改变现有ES使用习惯情况下,从了解到测试到接入上线短短15天就获得高质量搜索效果,企业有更多资源精力投入到产品功能和业务提升中去。
- 商品搜索无结果率30%降至5%以下,指标还在持续优化中;
- 搜索引导的业务转化率增长7%;
- 商家店铺搜索CTR提升5%,将直接影响拉动商家入住和广告营收;
本文为阿里云原创内容,未经允许不得转载。
一文详解 | 开放搜索兼容Elasticsearch做召回引擎的更多相关文章
- 一文详解Hexo+Github小白建站
作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...
- 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
- Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)
一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...
- 一文详解 OpenGL ES 3.x 渲染管线
OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...
- 一文详解 WebSocket 网络协议
WebSocket 协议运行在TCP协议之上,与Http协议同属于应用层网络数据传输协议.WebSocket相比于Http协议最大的特点是:允许服务端主动向客户端推送数据(从而解决Http 1.1协议 ...
- 1.3w字,一文详解死锁!
死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...
- 一文详解Redis键过期策略
摘要:Redis采用的过期策略:惰性删除+定期删除. 本文分享自华为云社区<Redis键过期策略详解>,作者:JavaEdge. 1 设置带过期时间的 key # 时间复杂度:O(1),最 ...
- 一文详解 Linux Crontab 调度任务
最近接到这样一个任务: 定期(每天.每月)向"特定服务器"传输"软件服务"的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖 ...
- 一文详解如何在基于webpack5的react项目中使用svg
本文主要讨论基于webpack5+TypeScript的React项目(cra.craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的. 首先,假定您已经 ...
- elasticsearch系列四:搜索详解(搜索API、Query DSL)
一.搜索API 1. 搜索API 端点地址 从索引tweet里面搜索字段user为kimchy的记录 GET /twitter/_search?q=user:kimchy 从索引tweet,user里 ...
随机推荐
- C++保证线程安全的方式
1.互斥量 可以确保同一时间只有一个线程访问临界区,防止出现竞态条件. 2.原子操作 std::atomic<int> mutex(1); 对原子变量的操作是线程安全的. 3.读写锁 st ...
- 3、Azure Devops之Azure Repos篇
1.什么是Azure Repos Azure Repos,就是我们常说的代码仓库,相当于gitee,github,git,svn工具.主要是提供给开发人员使用的,管理.查看代码的部件.通过Files. ...
- TomCat 的 Jenkins 报错:反向代理设置有误
1.进入 Linux 系统的 TomCat 安装目录的 conf 目录 2.编辑 server.xml 3.找到 <Connector> 标签 4.这里的 redirectPort 的值才 ...
- Spring Boot学习日记9
在springboot项目中的resources目录下新建一个文件 application.yml 编写一个实体类 Dog: package com.example.springboot02confi ...
- openApi generator总是生成类名为 defaultApi
生成器可以开启 useTags 设置,开启之后会根据 api 文档中的 tags 生成前缀类名,因此,要不生成 defaultApi 需要以下操作: 1.openApi 文档中每个 url 必须要有 ...
- FreeRTOS教程10 低功耗
1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...
- #线性基,点分治#洛谷 3292 [SCOI2016]幸运数字
题目 分析 题目就是将\(x\)到\(y\)路径上的线性基合并求解, 这里用的是点分治,每次换根到重心的时候维护前缀线性基, 查询的时候如果属于不同的子树就能询问答案,记得\(x=y\)要特判 代码 ...
- ABA问题的本质及其解决办法
目录 简介 第一类问题 第二类问题 第一类问题的解决 第二类问题的解决 总结 简介 CAS的全称是compare and swap,它是java同步类的基础,java.util.concurrent中 ...
- LiteOS-A内核中的procfs文件系统分析
一. procfs介绍 procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为.需要注 ...
- Solr安全控制,开启基本身份验证
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 背景:solr默认安装没带权限控制,每次进入页面直接操作都有点裸奔的感觉. 一.SolrCloud集群模式 说明:要使用基本身份验证您必 ...