简介
逻辑与数学函数,包含了与或非、大于小于等于、加减乘除取模的运算。写起来和我们在程序语言中稍有区别,如下图所示:
op_if 函数
函数定义
根据条件判断,返回相应的值。
语法描述
op_if(条件1, 值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
condition | 条件表达式 | bool | 是 | - | - |
data1 | 条件为 True 时,返回此参数值 | string | 是 | - | - |
data2 | 条件为 False 时,返回此参数值 | string | 是 | - | - |
示例
示例1
原始日志:
{"data": "abc"}
加工规则:
fields_set("result", op_if(True, v("data"), "false"))
加工结果:
{"result":"abc","data":"abc"}
示例2
原始日志:
{"data": "abc"}
加工规则:
fields_set("result", op_if(False, v("data"), "123"))
加工结果:
{"result":"123","data":"abc"}
op_and 函数
函数定义
对值进行 and 运算,均为 True 时,返回 True,否则返回 False。
语法描述
op_and(值1, 值2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
可变参列表 | 参与计算的参数或表达式 | string | 是 | - | - |
示例
示例1
原始日志:
{}
加工规则:
fields_set("result", op_and(True, False))
加工结果:
{"result":"false"}
示例2
原始日志:
{}
加工规则:
fields_set("result", op_and(1, 1))
加工结果:
{"result":"true"}
示例3
原始日志:
{"data":"false"}
加工规则:
fields_set("result", op_and(1, v("data")))
加工结果:
{"result":"false","data":"false"}
op_or 函数
函数定义
对值进行 or 运算,若存在参数值为 False 则返回 False,否则返回 True。
语法描述
op_or(值1, 值2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
可变参列表 | 参与计算的参数或表达式 | string | 是 | - | - |
示例
原始日志:
{}
加工规则:
fields_set("result", op_or(True, False))
加工结果:
{"result":"true"}
op_not 函数
函数定义
对值进行 not 运算。
语法描述
op_not(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 任意类型的值 | any | 是 | - | - |
示例
示例1
原始日志:
{}
加工规则:
fields_set("result", op_not(True))
加工结果:
{"result":"false"}
示例2
原始日志:
{}
加工规则:
fields_set("result", op_not("True"))
加工结果:
{"result":"false"}
op_eq 函数
函数定义
对值进行比较,相等则返回 True。
语法描述
op_eq(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
示例1:判断字段 "Post" 和 "Get" 的值是否相等。
原始日志:
{"Post": "10", "Get": "11"}
加工规则:
fields_set("result", op_eq(v("Post"), v("Get")))
将结果保存到result。
加工结果:
{"result":"false","Post":"10","Get":"11"}
示例2:判断字段 "field1" 和 "field2" 的值是否相等。
原始日志:
{"field1": "1", "field2": "1"}
加工规则:
fields_set("result", op_eq(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"1","field2":"1"}
op_ge 函数
函数定义
对值进行比较,值1大于或等于值2时返回 True。
语法描述
op_ge(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
示例1
原始日志:
{"field1": "20", "field2": "9"}
加工规则:
fields_set("result", op_ge(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"20","field2":"9"}
示例2
原始日志:
{"field1": "2", "field2": "2"}
加工规则:
fields_set("result", op_ge(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"2"}
op_gt 函数
函数定义
对值进行比较,值1大于值2时返回 True。
语法描述
op_gt(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "20", "field2": "9"}
加工规则:
fields_set("result", op_ge(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"20","field2":"9"}
op_le 函数
函数定义
对值进行比较,值1小于或等于值2时返回 True。
语法描述
op_le(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "2", "field2": "2"}
加工规则:
fields_set("result", op_le(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"2"}
op_lt 函数
函数定义
对值进行比较,值1小于值2时返回 True。
语法描述
op_lt(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "2", "field2": "3"}
加工规则:
fields_set("result", op_lt(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"3"}
op_add 函数
函数定义
对值进行求和运算。
语法描述
op_add(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_add(v("field1"), v("field2")))
加工结果:
{"result":"3","field1":"1","field2":"2"}
op_sub 函数
函数定义
对值进行求差运算。
语法描述
op_sub(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_sub(v("field1"), v("field2")))
加工结果:
{"result":"-1","field1":"1","field2":"2"}
op_mul 函数
函数定义
对值进行乘积运算。
语法描述
op_mul(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_mul(v("field1"), v("field2")))
加工结果:
{"result":"2","field1":"1","field2":"2"}
op_div 函数
函数定义
对值进行除法运算。
语法描述
op_div(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
示例1
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_div(v("field1"), v("field2")))
加工结果:
{"result":"0","field1":"1","field2":"2"}
示例2
原始日志:
{"field1": "1.0", "field2": "2"}
加工规则:
fields_set("result", op_div(v("field1"), v("field2")))
加工结果:
{"result":"0.5","field1":"1.0","field2":"2"}
op_sum 函数
函数定义
对多值累加求和。
语法描述
op_sum(值1, 值2, ...)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
可变参列表 | 数值类型的值或可转为数值的字符串 | string | 是 | - | - |
示例
原始日志:
{"field1": "1.0", "field2": "10"}
加工规则:
fields_set("result", op_sum(v("field1"), v("field2")))
加工结果:
{"result":"11.0","field1":"1.0","field2":"10"}
op_mod 函数
函数定义
对值进行模计算。
语法描述
op_mod(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
示例1
原始日志:
{"field1": "3","field2": "2"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"field1":"3","field2":"2","result":"1"}
示例2
原始日志:
{"field1": "1.0", "field2": "5"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"result":"1.0","field1":"1.0","field2":"5"}
示例3
原始日志:
{"field1": "6", "field2": "4"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"result":"2","field1":"6","field2":"4"}
op_null 函数
函数定义
对值进行是否为 null 判断,是则返回 true,否则返回 false。
语法描述
op_null(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 任意类型的值 | any | 是 | - | - |
示例
示例1
原始日志:
{}
加工规则:
fields_set("result", op_null("null"))
加工结果:
{"result":"true"}
示例2
原始日志:
{"data": null}
加工规则:
fields_set("result", op_null(v("data")))
加工结果:
{"data": "null", "result":"true"}
op_notnull 函数
函数定义
对值进行是否为非 null 判断,是则返回 true,否则返回 false。
语法描述
op_notnull(值)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data | 任意类型的值 | any | 是 | - | - |
示例
示例1
原始日志:
{}
加工规则:
fields_set("result", op_notnull("null"))
加工结果:
{"result":"false"}
示例2
原始日志:
{"data": null}
加工规则:
fields_set("result", op_notnull(v("data")))
加工结果:
{"data": "null", "result":"false"}
random 函数
函数定义
生成随机数(两个参数之间的一个随机数),左闭右闭。
语法描述
random(值1, 值2)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
data2 | 数值类型的值或可转为数值的字符串 | number | 是 | - | - |
示例
示例1
原始日志:
{"field1": "1"}
加工规则:
log_keep(op_eq(random(3, 5), 4))
加工结果:
{"field1": "1"}
示例2
原始日志:
{"field1": "1"}
加工规则:
fields_set("field2", random(1, 5))
加工结果:
{"field1":"1", "field2":"4"}
str_exist 函数
函数定义
判断是否存在子串。
语法描述
str_exist(值1, 值2, ignore_upper=False)
参数说明
参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
data1 | 字符串类型的值 | string | 是 | - | - |
data2 | 字符串类型的值 | string | 是 | - | - |
ignore_upper | 是否区分大小写 | bool | 否 | False | - |
示例
原始日志:
{"data": "cls nihao"}
加工规则:
fields_set("result", str_exist(v(data), "nihao"))
加工结果:
{"result":"true","data":"cls nihao"}