【新功能】开放搜索高级定制排序插件-Cava语言

简介: 但当业务遇到较强的定制需求,排序公式也比较复杂,需要自己开发业务逻辑的时,业务排序和基础排序就不尽人意了,此时可以通过开放搜索提供的高级定制排序插件–cava语言,来满足更多样的业务排序需求。

Cava插件介绍

开放搜索支持用户自定义排序表达式满足自身业务的逻辑,其中包括:基础排序、业务排序、算法模型、功能型\业务型函数等功能。但其能力取决于排序表达式所支持的元素,特别是排序表达式的feature(特征)。
但当业务遇到较强的定制需求,排序公式也比较复杂,需要自己开发业务逻辑的时,业务排序和基础排序就不尽人意了,此时可以通过开放搜索提供的高级定制排序插件–cava语言,来满足更多样的业务排序需求。

今天小编重点和大家介绍一下cava这门高级定制编程语言的用法和能力~

Cava是OpenSearch引擎团队基于llvm实现的一门高效的编程语言,是一门面向对象的编程语言,语法和java类似,性能与c++相当。其优点可归为以下方面:
• 更强的灵活性和定制能力:Cava提供了较表达式更加丰富的语法功能,比如for循环,函数定义,类定义等,用户可以实现自己的业务需求。
• 更易于维护:Cava实现的排序插件比表达式更具有可读性,更易于维护。
• 更易于接受:Cava的语法和java类似,熟悉java的同学很容易使用cava进行开发,学习成本较低。

在这里插入图片描述

案例演示

cava使用流程

在这里插入图片描述

场景应用
案例:一个网站有多个频道,用户在搜索“下载”频道时优先展示该频道的内容,其次展示其他频道的内容,频道内部按照文本相关性进行排序。
分析:
1.优先展示某一频道内容:
用户需求按频道进行展示,文档中必然有一个字段用于存储这个文档属于哪些或哪一个频道。如果可以获取用户在查询中的频道,并且和文档中的频道进行匹配,两个是相同的并在算分时进行加权,这样就可以实现搜索的频道优先展示。
2.频道内部按照文本相关性进行排序
需要额外添加一个文本相关性的feature即可实现。
实操:
使用cava编写排序脚本
在这里插入图片描述

效果对比:

在这里插入图片描述

在这里插入图片描述

注意事项及更多内容

【功能介绍及演示视频】
https://help.aliyun.com/video_detail/187829.html?spm=a2c4g.11186623.6.998.4e139872IPnO3X
※ 目前仅支持开放搜索【独享型】应用配置
【共享型和独享型性能你对比】
https://help.aliyun.com/document_detail/189189.html?spm=a2c4g.11186623.6.564.74326d07hbatsl

如果你想和更多搜索技术相关同学交流,可以一起加入【推荐与搜索技术交流群】,钉钉群号: 23310502。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值