策略管理
本文介绍了智能开放搜索OpenSearch的排序策略及其应用的运算和函数类型。通过阅读本文,您可以根据自身业务需求查阅相关的具体文档以深入了解。
功能概述
排序表达式支持基本运算(算术运算、关系运算、逻辑运算、位运算、条件运算)、数学函数和排序特征(feature)等。OpenSearch对于几种经典的应用(如论坛、资讯等)提供了相关性实战,用户可根据自己数据的特点,选择合适的表达式模板,并以此为基础进行修改,生成自己的表达式。更多详情请参见排序策略配置。
基础排序即是海选,从检索结果中快速找到质量高的文档,取出TOP N个结果再按照业务排序进行精细算分,最终返回最优的结果给用户。由此可见,基础排序对性能影响比较大,业务排序对最终排序效果影响比较大。因此,基础排序要求尽量简单有效,只提取业务排序中的关键因子即可。同时,基础排序与业务排序目前均通过排序表达式的方式进行配置。更多详情请参见基础排序函数。
业务排序表达式,主要是对基础排序后召回的结果做进一步排序算分,最终将最优结果返回给用户。业务排序表达式允许用户为应用自定义搜索结果排序方式,通过在查询请求中指定表达式来对结果排序。更多详情请参见业务排序函数。
Cava是OpenSearch引擎团队基于llvm实现的一门高效的编程语言,它的语法和Java类似,性能与C++相当。Cava是一门面向对象的编程语言,支持即时编译(jit),支持各种安全检查保证程序更加健壮。使用Cava和OpenSearch提供的cava库,在OpenSearch中可以定制自己的排序插件,相比于OpenSearch支持的表达式。更多详情请参见排序插件开发-Cava语言。