You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

针对Azure认知搜索Int32Collection字段的OData筛选语法疑问

Azure认知搜索Int32Collection字段筛选问题解答

筛选失败原因

你用的wi_is/any(p: p eq 8 and p eq 10)逻辑有误:any的作用是检查集合中是否存在单个元素满足括号内的条件。但单个整数不可能同时等于8和10,这个条件永远无法成立,所以匹配不到目标文档。而wi_is/any(p: p eq 10)是检查集合中存在等于10的元素,刚好符合目标文档的情况,所以能匹配成功。

正确筛选语法

要找出同时包含8和10的文档,需要分别检查集合中是否存在这两个元素,再用and连接条件,有两种常用写法:

写法一:使用两次any

wi_is/any(p: p eq 8) and wi_is/any(p: p eq 10)

写法二:使用contains函数

对于Int32Collection类型,contains函数可以直接检查集合是否包含指定元素,语法更简洁:

contains(wi_is, 8) and contains(wi_is, 10)

内容的提问来源于stack exchange,提问作者authentic Sailor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 06:42:04