简介:开放搜索发布开源兼容版,支持阿里云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实例安装插件、配置完成三步:

  1. 实例管理-Elasticsearch引擎页面,找到待配置状态的实例,点击配置,进入关联阿里云Elasticsearch应用页面:

  1. 安装插件:

  1. 点击“确定”,则开始安装自定义插件(会触发Elasticsearch集群重启):

  1. 配置成功,等待插件安装:

三、Elasticsearch引擎实例搜索测试

  1. 在阿里云Elasticsearch控制台实例详情页中确认开放搜索的“Elasticsearch搜索增强版自定义插件”是否已经安装

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

了解更多详细配置内容,查看产品文档:开源兼容版实例 - 智能开放搜索 OpenSearch - 阿里云

客户案例

某新零售客户,打造1公里社区网店服务,为用户提供吃、喝、玩、乐一体化生活服务。

客户搜索业务痛点

  • 自建搜索效果差,搜不准、搜不到直接影响用户体验;
  • 缺乏行业分词库,自研难度大,开发周期长,难以响应业务需求;
  • 成熟的搜索引擎涉及离线模块、在线模块、查询理解服务、算法平台等系统组成,所需大量开发、算法调优以及持续的复杂运维工作,自建成本高

开源兼容版解决方案

  1. 调用开放搜索电商行业分词库

集成淘宝搜索同款电商分词器,训练语料来自淘宝搜索多年积累的百万级有标注的电商行业数据,可准确识别商品品牌、品类、产品特性等电商属性query;

  1. 调用电商查询语义理解功能
  • 电商拼写纠错

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

  • 电商同义词

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

  • 电商实体识别

全称命名实体识别(Named Entity Recognition,简称NER),指对查询词中的具有特定意义的语义实体进行识别。查询分析根据识别的结果,依据实体类型的权重对查询词进行改写,使得召回的文档符合查询的意图。

效果反馈

无需额外投入人力资源,在不改变现有ES使用习惯情况下,从了解到测试到接入上线短短15天就获得高质量搜索效果,企业有更多资源精力投入到产品功能和业务提升中去。

  1. 商品搜索无结果率30%降至5%以下,指标还在持续优化中;
  2. 搜索引导的业务转化率增长7%;
  3. 商家店铺搜索CTR提升5%,将直接影响拉动商家入住和广告营收;

原文链接

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

一文详解 | 开放搜索兼容Elasticsearch做召回引擎的更多相关文章

  1. 一文详解Hexo+Github小白建站

    作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...

  2. 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)

    一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)     概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...

  3. Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)

    一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...

  4. 一文详解 OpenGL ES 3.x 渲染管线

    OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...

  5. 一文详解 WebSocket 网络协议

    WebSocket 协议运行在TCP协议之上,与Http协议同属于应用层网络数据传输协议.WebSocket相比于Http协议最大的特点是:允许服务端主动向客户端推送数据(从而解决Http 1.1协议 ...

  6. 1.3w字,一文详解死锁!

    死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...

  7. 一文详解Redis键过期策略

    摘要:Redis采用的过期策略:惰性删除+定期删除. 本文分享自华为云社区<Redis键过期策略详解>,作者:JavaEdge. 1 设置带过期时间的 key # 时间复杂度:O(1),最 ...

  8. 一文详解 Linux Crontab 调度任务

    最近接到这样一个任务: 定期(每天.每月)向"特定服务器"传输"软件服务"的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖 ...

  9. 一文详解如何在基于webpack5的react项目中使用svg

    本文主要讨论基于webpack5+TypeScript的React项目(cra.craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的. 首先,假定您已经 ...

  10. elasticsearch系列四:搜索详解(搜索API、Query DSL)

    一.搜索API 1. 搜索API 端点地址 从索引tweet里面搜索字段user为kimchy的记录 GET /twitter/_search?q=user:kimchy 从索引tweet,user里 ...

随机推荐

  1. windows下删除文件时提示“操作无法完成 因为文件已在。。。”解决方案

    解决方案:利用"资源监视器",如上图: 具体步骤: win+r,输入perfmon打开资源监视器 或者 右键--Windows 7任务栏--启动任务管理器--性能--资源监视器-- ...

  2. Java中float和double的精度

    比较基本类型double和float和某一个数是否相等的时候,不要用==或>=或<=,因为double和float都是有精度问题的,计算机只能保存一定位数的小数,这就会存在精度问题. 下面 ...

  3. kingbaseES坏块修复功能

    1.自动坏块修复简介 主数据库访问系统表数据.索引.持久化用户表数据.索引时,从磁盘读取数据块至共享缓冲区,如果检测到坏块,自动从备节点获取坏块的副本,并修复坏块. 坏块修复相关参数 参数名称 默认值 ...

  4. python整理1992、2009国家标准学科分类及代码数据并存入MySQL数据库

    文件内容 处理结果 代码 1 import pandas as pd 2 import pymysql 3 4 5 def get_subject_1992(): 6 res={} 7 the_for ...

  5. 【已解决】linux环境jps命令不显示进程

    2021-09-28 10:26:42 问题描述: 输入jps后不显示进程 解决办法 1. cd /tmp/hsperfdata_root/ 2. ls 如果是空的 3. rm -rf hsperfd ...

  6. MySQL分组数据和子查询

    分组数据 创建分组 mysql> SELECT vend_id,COUNT(*) AS num_prods FROM products GROUP BY vend_id; +---------+ ...

  7. 前端问题整理 Vite+Vue3+Ts 创建项目及配置 持续更新

    前端问题整理 持续更新 目录 前端问题整理 持续更新 前端 Vue 篇 @项目配置 1.node 版本过高问题 安装nvm 管理node版本 2.镜像证书无效问题 3.npm 版本问题 4.npm i ...

  8. 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析

    Python MongoDB 排序 对结果进行排序 使用 sort() 方法对结果进行升序或降序排序. sort() 方法接受一个参数用于"字段名",一个参数用于"方向& ...

  9. 开始学习web-sql注入

    web内容多且杂,不知道怎么下手开始学,那就先从sql注入开始学吧 目前只在b站上找了一些课程,还有ctfwiki作为参考 链接贴在下面: ctfwiki https://www.bilibili.c ...

  10. mybatis plugin源码解析

    概述 Plugin,意为插件,是mybatis为开发者提供的,对方法进行自定义编程的手段.其中用到了动态代理.反射方法,通过指定需要增强的对象与方法,进行程序编写. 核心类 主要涉及几个核心类:Int ...