文档

算子功能详解

Trigger组件

“Trigger组件”是“Recall召回”组件的前置组件,获取召回表的trigger,只能存在一个同类型组件。

点击“+”选择新增算子类型

image.pngimage.png

选择trigger表

  • KV类型trigger表的trigger字段为STRING类型的非主键字段(非pk字段)。

image.png
  • KKV类型trigger表的trigger字段默认为右键字段(sk字段),新增“加权字段”,选择Trigger表中的其他属性字段(非STRING和非RAW类型),字段内容可作为后续召回排序的加权分使用。

image.png

Recall召回

image.png
  • 召回算子,唯一,且不可删除。

  • 支持召回表类型:KV/KKV/INDEX/EMBEDDING。

  • 可返回召回表的所有字段。

Join关联

image.png
  • 关联字段:Recall组件返回字段,与关联表的主键(pkey)字段类型相同。在归并同级算子时,可用做所有链路数据集合去重的字段。

  • 关联表:支持kv/kkv/index(倒排索引)类型表。

  • 关联类型:inner/outer,默认值为inner。

  • 返回字段:关联表中所有字段,可用于后续排序或者展示使用。

Filter过滤

image.png
  • 过滤类型:表达式/数据表,其中数据表过滤仅支持KKV类型表。

  • 差级表:如果过滤时需要额外排出部分数据,可以设置差级表,存在差级表中的数据可不被过滤。举例 说明:过滤表为曝光数据,差级表可设置点击数据,可过滤掉没有被点击的曝光数据。

  • trigger参数:默认值 user_id。

  • 召回过滤字段:召回表字段内容与过滤表中的字段内容相同时,该条记录将被过滤丢弃。

  • 表达式:支持运算符 >、<、=、!=、>=、<=、AND、OR、in()、notin()、contain()、notcontain()。示例如下:

1)	>
例:item_id>1

2)	<
例:item_id<12398063478

3)	=
String类型:item_set_id="crm_5233"  
int类型: item_id=12398063478

4)	!=
String类型:item_set_id!="crm_5233"  
int类型: item_id!=12398063478

5)	>=
例:item_id>=12398063478

6)	<=
例:item_id<=12398063478

7)	AND
两个表达式中间加AND,AND前后需要空格
例:item_id=12398063478 AND item_id<=12398063479

8)	OR
两个表达式中间加OR,OR前后需要空格
例:item_id>12398063478 OR item_id<12398063478

9) in()
仅支持单值字段
例:in(item_id, "12398063478|12398063479|12398063480")

10) notin()
仅支持单值字段
例:notin(item_id, "12398063478|12398063479|12398063480")

11) contain()
仅支持多值字段
例:contain(tags, "tagA|tagB|tagC")
”|“表示or,即只需tags包含tagA、tagB、tagC中的至少一个值

12) notcontain()
仅支持多值字段
例:notcontain(tags, "tagA|tagB|tagC")
”|“表示and,即需要tags不包含tagA、tagB、tagC中的任意一个

13)	表达式组合示例:
AND优先级高于OR,表达式中可以加()
例:item_id>12398063478 OR item_id<12398063478 AND item_set_id!="crm_5233" OR item_id!=12398063477

例:(item_id<=12398063478 OR item_id>=12398063478) AND item_id<=12398063478 AND item_id>=12398063478

例:(item_id<=12398063478 OR item_id>=12398063478) AND item_id<=12398063478 AND item_id>=12398063478 AND in(item_id, "12398063478|12398063479|12398063480")
  • 表达式参数:默认值 expose_filter_rule。

Score算分

image.png
  • 表达式:自定义,可配置多个参数进行计算做排序。支持运算符 +、-、*、/、pow()。示例如下:

例:field1*field2+0.6, field1/field2+1, field1+field2-1.6, pow(field1, field2)
注意:表达式中的参数field1,field2 需要是一致的数值类型,否则需要使用转换函数来统一类型,比如:

1)若field1为float类型,field2为double类型,则可以修改为:field1*float(field2)+0.6   

2) 若field1为double类型,field2为float类型,则可以修改为:float(field1)*field2+0.6

3) 若field为float或double类型,想要转换为整型时可以使用int32(field)或者int64(field),整型变量需要配合整型常量使用,比如int32(field)+1是可以的, 但int32(field)+1.2是不可以的

4) string类型不可以强制转换为数值类型
  • score字段:新增返回字段,字段值为上述表达式的计算结果,可用于后续算子使用。可自定义字段名,注意不能和已有字段重复。

Sorter排序

image.png
  • 排序字段:单选,Recall 组件返回字段 + 前面所有Join组件返回字段 + 前面所有Score 组件的score字段。

image.png
  • 去重字段:单选,Recall 组件返回字段 + 前面所有Join组件返回字段。

image.png
  • 插件参数:设置Sorter排序标识,可通过Query params设定一致的标识内容,进行不同的排序逻辑。

  • 本页导读 (0)
文档反馈