201608北京云栖大会Workshop - 视频场景下的云搜索实践

搭建视频搜索服务
本文介绍如何使用阿里云OpenSearch创建视频搜索服务,包括创建应用、配置相关性表达式及优化搜索结果展示。

目标

  • 熟悉OpenSearch搜索服务创建流程;
  • 学会配置OpenSearch相关性表达式;
  • 完成一个视频搜索服务搭建。

创建应用

  • 进入OpenSearch管理控制台:http://opensearch.console.aliyun.com/
  • 登录到OpenSearch控制台,点击右上角“创建应用”按钮,开始创建一个搜索应用;
  • 填写应用名称、选择地域以及应用描述信息(地域选择必须选择“华东1(北京)”】)。点击下一步;lALOZWv5Ks0CIc0Ebg_1134_545.png
  • 勾选“通过数据源创建应用结构”,OpenSearch支持RDS与ODPS的表来直接创建应用结构,这里我们演示下如何通过RDS源来生成应用结构,ODPS类似;
    lALOZW7rTs0BJc0DWQ_857_293.png
  • 选择“RDS”,点击“+新的数据库”,填写上对应的RDS实例名称,并连接(rds实例已经创建好,实例名参照RDS控制台:https://rdsnew.console.aliyun.com/console/index#/rdsList/basic/all/normal,库名:video_search,用户:opensearch,密码:Opensearch1234)
    lALOZW6BLc0Bps0EEw_1043_422.png
  • 找到对应的表,点击确定。
    lALOZW6A4c0CR80DUg_850_583.png
  • 这里可以看到,RDS中的表字段已经导入进来,这时候我们需要指定主键字段,并且修改到OpenSearch的字段类型
    OpenSearch支持多表简单join关系,时间关系,我们这里以单表为例。 这里面包含了视频媒体的主要信息,如title:标题、keyword:关键词、type:类型、user:上传者、director:导演、actor:演员、plays:播放次数、img_name:展示图片、area:发布地区、language:语言、description:简介、year:上映时间、length:时长、create_time:上传时间、play_url:视频播放地址;
    lALOZW6BZs0Co80DXA_860_675.png
  • 点击下一步,进行搜索字段设置。索引字段主要指需要查询的集合,同类型字段可以做组合查询,比如下例中default索引,如果query=default:’哈利波特’,则会到title、keyword、director、actor、description字段中统一查找。如果query=title:’哈利波特’,则只从title字段中去查找,可以实现影片查询和全库查询的功能。 属性字段主要用来做过滤、统计和排序等功能,这里我们主要提供对时长等的过滤、对发布时间、播放次数等的排序功能。
    lALOZW8lm80CYM0Dxg_966_608.png
  • 点击完成后,应用创建成功。

激活应用

  • 点击激活应用,进行激活。这里请务必选择免费容量,以免产生费用,影响使用。
    lALOZW8h-s0B4s0DWg_858_482.png
  • 这时候可以跳转到应用列表页面,看到我们刚创建的应用,已经在全量数据构建中了。点击进入管理界面,可以对应用进行更多功能的配置。
    lALOZW7twM0CFc0DTA_844_533.png

高级配置

一个搜索应用已经创建成功,全量构建完成后,就可以搜索了。但是搜索出内容后,如何将最优的结果展示出来呢?接下来我们就来对优化项进行配置。

搜索结果排序

  • OpenSearch开放了两阶段的相关性排序,可以很好的兼容性能和复杂排序功能的需求。粗排也就是海选,目的是选择尽量好的文档,精排会对已选取的TOP文档进行更细粒度的排序算分。
  • 粗排为:static_bm25(),搜索关键词的文本匹配度;
  • 精排为:text_relevance(title)*6+text_relevance(director)*2+text_relevance(actor)*2+timeliness(creat_time)+gauss_decay(0,plays,5000,0.000001,0.1),主要参考title、director、actor三部分的匹配度、发布时间的时效性以及播放次数,并进行权重配置。
    lALOZW7t8c0Buc0DVQ_853_441.png
  • 将新配置排序表达式设置为默认,点击保存后即可对查询起作用。
    lALOZW7uAc0Bqs0DVQ_853_426.png

搜索结果展示

OpenSearch允许对搜索结果命中匹配词进行飘红展示和摘要截取,更有利于搜索结果的展示。

lALOZW7uYc0BqM0DWA_856_424.png

下拉提示

  •  下拉提示 接下来我们来配置一个在搜索场景中非常常见且有用的功能:下拉提示。目前系统支持支持拼音、前缀、中文等的查询提示。
  • 下拉提示会从当前已有的字段中来选取常用关键词,以保证查询是有结果的。同时支持下拉提示中黑白名单的配置。配置完毕后点击“生效下拉提示”即可。
    lALOZW7u6c0BwM0DVA_852_448.png
  • 生效完毕后,可以做下效果测试。
    lALOZW7vDczjzQNY_856_227.png

搜索测试

搜索测试页面是个界面化的搜索测试工具,在排查问题及日常测试过程中非常好用。
lALOZW9_u80D7M0DSw_843_1004.png

结束

至此,一个完整的视频搜索已经完成了,简单吧?接下来,让我们在demo环境中实际创建一个视频看下吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值