功能函数项
插件功能函数可以用在filter子句作为过滤和筛选条件,而返回值为数值型的功能函数在sort子句中,用来做排序。
其中功能函数参数出现的文档字段需根据对应函数文档提示,创建为索引或属性.
multi_attr : 返回数组字段指定位置的值
1.详细用法:
multi_attr(field, pos, default_value=0|””)
2.参数:
field: 查询的字段名,必须为ARRAY数组类型,且必须配置为属性字段pos: 整型常数或整型字段,需要配置为属性字段,下标从0开始。default_value(排序得分):可选,字符串常量,表示如果指定pos的值不存在时,返回default_value。
3.返回值:
当指定pos的值存在时,返回对应数组pos下标位置的值;
当指定pos的值不存在时并且没有设置default_value参数时,返回0;
当指定pos的值不存在时并且设置default_value参数时,返回default_value值;
4.适用场景:
场景1:商品有多个价格[市场价、折扣价、销售价],存到prices字段中。查询销售价小于1000的手机
query=deault:'手机'&&filter=multi_attr(price,2)<1000
场景2:商品有多个价格[市场价、折扣价、销售价],存到prices字段中。查询出来的结果排序按折扣价升序排序,如果折扣价不存在或prices字段为空,则赋予默认值600。
query=deault:'手机'&&sort=+multi_attr(price,1,"600")
5.注意事项:
函数参数依赖字段需创建为属性;
当设置default_value时,需要将具体的内容放在双引号中;