实战指南|学习笔记

简介: 快速学习实战指南

开发者学堂课程【搜索与推荐技术实战训练营实战指南】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/919/detail/14485


实战指南


 基本内容

一、开发搜索的流程图

实际操作

三、测试数据的应用

 

一、开发搜索的流程图

1667030597658.jpg

1667030608954.jpg以上为开放搜索的主要功能

这张图无论是新用户还是老用户都可以很详细的了解到开放搜索的功能明确到测试时具体要怎么做,哪些功能对应了哪些需求场景

如果是新接触的用户,那么需要创建一个开放搜索的应用实例

如果是老用户直接有实例可以进行简单的搜索

首先创建实例之后配置实例配置实例有三个步骤

1、首先要配置实例的应用结构,使数据源的字段与开放搜索应用的字段对应

2、配置索引结构,索引结构就是用来通过后期进行搜索服务。

3、把数据接入到开放搜索中,需要对应的数据。当实例配置成功之后,就可以进行简单的搜索

两种搜索方式

1第一种在控制台上搜索进行测试

2第二种就是通过代码的方式就进行搜索的召回;

如果对这个搜索服务、搜索结果不满意,有三种方式可以去掉;

首先,分词效果不理想。因为不同的行业有不同的分词,也有不同的需求;可能同样的词在不同的行业里面对于分词的要求是不一样的,那么开放搜索便提供了自定义分词的方式方式,去解决不同行业的一些单词。

其次,当分词理想之后,召回结果是符合需求的,如果把最想要的结果、靠前的召回,开放搜索又提供了排序的功能,可以把最想要的东西排在前面给召回

1基础排序;

2业务排序;

3是算法功能:类目预测和人模型。

召回是需要的,并且排序也没问题,此时可能一些用户输入时不会按照正常的方式去搜索,比如说输入的同义词有问题,或者是打错字或者是输入了一长串文字,有标点符号那么可能会造成召回的结果不符合预期。

当结果不符合预期的时候,并不是搜索的问题,而是用户的问题,那怎么可以去分析用户的查询意图呢?

此时开放搜索提供了查询分析功能,可以通过词权重、拼写纠错、停用词、同义词、实体识别这五大方面去理解用户的意图,让用户在搜索意图不明确的情况下,也可以搜索到想要的内容。

当搜索服务已经完全符合业务需求时,如果想丰富搜索服务,给用户带来更好的体验,此时开放搜索提供了两种引导方式

1一种是搜索前的引导,热搜

2另一种就是搜索中的引导,下提示

 如果想验证在排序阶段,比如说排序的业务表达式,具体哪一个最符合业务场景,只是可以通过 A/B TEST 的对多个排序表达式进行分流验证,最后得出召回结果最好的那个排序表达式用于搜索场景。

开放搜索提供一些业务运营报表,比如说用户的 PVUV高查询,业务运营报表帮助分析这些这个数据的潜在价值,以上是开放搜索的一些主要功能。

 

二、实际操作

1、首先新建一个应用打开 开放搜索控制台的主界面,首先选定区域,如果在阿里上还有其他的数据库服务的话,数据库数据接入到开放搜索中,此时需要这个区域和开放搜索的这个区域相对应;以杭州为例,点击左侧的:“应用管理”,新建一个应用程序

为了降低接入成本,初次接入的用户会有一个月的免费使用期它有一些相关限制可以限制的后付费存储容量是“一个 G”,计算资源是这个“20SCU”,购买规格是“共享性”-填写“应用名称”-点击“立即购买”-点击“我已阅读”-“立即开通”,此时已经成功的开通了一个实例。

返回控制台,找到对应的应用列表,此时在这个应用列表里就会出现一个新的配置的应用名,可以看到现在这个实际状态处于待配置状态,那接下来就开始配置实例。

2、在实例开通之后开始配置实例,然后点击”配置“首先配置应用结构配置应用结构的方式有四种,这里介绍一下最常用的方式去配置

3、配置应用有四种常见的方法

(1)第一步:通过数据源创建

选择数据源RDS 为例子),选择相应的数据源,目前开放搜索可以对应的数据源一共有三种,分别是 RDS、MaxComputePOLARDB

选择一个表为主表和一个字段;图表选择这个 products1 为主表,选择 ID 字段为主键字段,我们在表中选择 pid 为表主键,用主表主键去关联表的主键,将这两张表关联起来,选择“下一步”;

(2)第二步索引结构

索引字段列表:用于查询;

如果某些字段需要查询的话,可以在上面添加对应的索引字段,填写相应的名称、绑定相应的字段;

最后选择相应的分析器即可。

(3)第三步数据源

数据源对应的字段映射

 如果需要这个字段,数据库的增量同步的话,可以把这个数据“自动同步”打开,也可以配置过滤条件,把一些不需要的数据同步到公测处理,也可以在这里配置过滤条件,点击“完成”;

下面的一些功能,需要一些测试数据。

(4)第四步完成

 

三、测试数据的应用

应用配置完之后处于初始化状态通过应用的详情去查看

注意个状态,可能是其他状态;这时候是属于索引重建,当索引重建完成之后,这个实例的状态处于正常,此时可以对当前的这个实例进行一些查询;

查询有两个入口可以进入控制台查询,

1在应用管理界面,然后“实力操作”一栏,下面这个搜索测试可以进入搜索测试界面;

2也可以通过这个左侧导航栏里的功能扩展里搜索测试测试,进入搜索测试,选择对应的应用,选择对应的线。

 1667030750994.jpg

最初的状态是不正常的等到索引重建完成之后状态变为正常”此时便可以对实例进行查询

 1667030766359.jpg

当搜索结果不符合预期的时候,如何去优化?

Ø 结合流程图去优化首先是分词效果不是很理想

Ø 在平台中“扩展功能”找到分析器管理”,找到以“中文通用分析”为例,然后点击“分析测试”,比如输入一个 query,叫 open search  产品文档内容内容,然后点击“测试”此时就是中文通用分析这个分词,只要在搜索框中输入为 query open search 产品文档或内容,都会将其召回,这是一个通常情况

下图为分词的测试

Ø 输入个 query,不在系统分词此时应该自定义词典去干预,首先在“扩展功能”里点击“分析器管理”,新创建一个分词,选择“通用分析”然后点击“保存”,在这个新创建的分词器里面选择“词条管理”,添加一个词条,完成之后点击“词条管理”-新增干预词条这是 query 意图不明确时的操作

二次分词当自定义分词之后对分词之后的片段再分词

重新配置索引之后是需要等待状态变为正常之后才可以查询

当测试合格之后将线下应用发布到线上便可以在应用程序中搜索到自定义的分析方式。

如何让用户感兴趣的文件排在前列?(优化排序位置

结合“策略管理”来实现

如何避免商家商品名字中关键字出现的多则搜索排行版靠前的问题

需要调整排序表达式在“策略调整”里面创建一个新的策略表达式

1667030818483.jpg

编写一个策略表达式规定关键词个数

1667030832683.jpg

如果用户输入的关键字不清晰或者不明确,该如何优化

查询分析-添加“同义词”

如何降低配置成本给用户一个优质的搜索引导?(热搜底纹效果预览)

开启模型之后,它会自动的定期的去训练

热搜的效果预览:弹框每次返回的10个推荐的热搜词,最多20组推荐的热搜词。

底纹的效果预览:弹框每次返回1个底纹词,最多30组推荐的底纹词。

下拉提示

在搜索框中输入一些内容,它会自动的推荐一些文字,提高用户输入效率。帮助用户更快的找到想的内容。

以下为下拉提示的操作

创建下拉提示

 1667030866578.jpg

需要将“下拉提示”请求与“搜索”请求关联

将下拉提示请求和搜索请求关联起来后,对业务有如下帮助:

1.可以统计出一些指标, 用于衡量下拉提示对 app 搜索的效果。

指标包括:下拉提示引导 app 搜索 pv,引导 app 搜索点击率,引导搜索无少结果率等,更多详细指标见下拉提示业务指标。

2.基于关联请求数据,得到下拉提示点击结果等数据,优化下拉提示排序模型,进而提升下拉提示对 app 搜索的效果。

关联方法:

在 opensearch app search 请求中,如果此次请求是由下拉提示引导的,则在search 请求中带上参数from request_ _id= {from_ request_ _id}

其中 from_ request_ _id 表示:本搜索请求从哪里引导而来,如果当前的 query 来自下拉提示、热词、底纹等功能的推荐列表,那么请求这个推荐列表的 request ld 可以赋给这个参数,通过关联引导事件,可以计算上游功能的各项指标,衡量使用效果,为优化功能提供依据。搜索处理文档中也有此参数说明。

查看用户最近搜索过的内容(报表统计

1667030922085.jpg

选择对应的指标,便可查看近日用户的搜索情况

相关文章
|
7月前
|
SQL 存储 分布式计算
Kylin使用心得:从入门到进阶的探索之旅
【5月更文挑战第2天】Apache Kylin是开源大数据分析平台,提供亚秒级OLAP查询。本文深入解析Kylin的工作原理,包括预计算模型Cube、构建过程和查询引擎。常见问题涉及Cube设计、查询性能和资源管理,解决方案涵盖合理设计、性能监控和测试验证。文中还分享了Cube创建的JSON示例,并探讨了Cube构建优化、查询优化、与其他组件集成、监控维护及生产环境问题解决。通过学习和实践,读者能有效提升数据洞察力和决策效率。
441 5
|
7月前
|
API 定位技术 开发工具
Mars3D小白专属:开发者快速上手实战指南
Mars3D小白专属:开发者快速上手实战指南
366 0
阿里进阶专用:Mycat权威指南,不怕从零开始,只怕从未启程
如今随着互联网的发展,数据的量级也是成指数式的增长,从GB到TB到PB。对数据的各种操作也是愈发娴熟加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求,这个时候NoSQL的出现暂时解决了这一危机。
|
前端开发 Java 关系型数据库
仿牛客社区项目(第一章)
仿牛客社区项目(第一章)
353 0
仿牛客社区项目(第一章)
|
人工智能 开发者 Python
模型社区实战训练营首开,开源让代码更有趣!
阿里云开发者学堂联合modelscope社区推出了模型实战系列训练营,培养AI开发者从各种模态的模型选择,只需要懂得python,也可以玩转人工智能模型。
|
人工智能 开发者
模型社区实战课程|学习笔记
简介:快速学习模型社区实战课程
161 0
模型社区实战课程|学习笔记
|
缓存 分布式计算 Ubuntu
Linux性能优化实战-极客课程笔记(3)
Linux性能优化实战-极客课程笔记(3)
254 0
|
存储 监控 NoSQL
Linux性能优化实战-极客课程笔记(1)
Linux性能优化实战-极客课程笔记(1)
498 0
|
缓存 监控 网络协议
Linux性能优化实战-极客课程笔记(2)
Linux性能优化实战-极客课程笔记(2)
352 0
|
机器学习/深度学习 达摩院 安全
技术介绍| 学习笔记
快速学习技术介绍