in和notin

功能函数项

插件功能函数可以用在filter子句作为过滤和筛选条件,而返回值为数值型的功能函数在sort子句中,用来做排序。

其中功能函数参数出现的文档字段需根据对应函数文档提示,创建为索引或属性.

in/notin : 判断字段值是否(不)在指定列表中

1.详细用法:

in(field, “number1|number2”)notin(field, “number1|number2”)

2.参数:

field:要判断的字段名,支持INT、LITERA、LFLOAT、DOUBLE类型,【不支持ARRAY、TEXT、模糊分词系列类型】number列表:集合元素,多个值用’| ‘分隔,参数以字符串形式传入。

3.返回值:

true/false

4.适用场景:

场景1:查询文档中包含“iphone”且type(int类型)为1或2或3的文档;

query=default:’iphone’&&filter=in(type, “1|2|3”)

场景2:查询文档中包含“iphone”且type(int32类型)不为1或2或3的文档;

query=default:’iphone’&&filter=notin(type, “1|2|3”)

5.注意事项:

  • 函数参数依赖字段需创建为属性

  • in/notin函数在filter子句中使用时不支持ARRAY类型字段,否则会报出语法错误【错误码:6141,错误信息:Filter clause syntax error

  • in(field, “number1|number2”)函数也等价于(field = number1) OR (field = number2),但是前者的性能会更好,同理notin也类似。