问题描述
我们正在使用Azure搜索为客户端系统提供搜索后端,但是我在子数组上进行过滤并仅返回我需要的数据时遇到了麻烦。
使用查询时:$select=en,products&$filter=products/any(product: search.in(product/reference,'myreference'))
我得到以下数据集:
{
"@odata.context": "our-azure-endpoint","value": [
{
"@search.score": 1,"hashA": "abcdefghijklmnopqrstuvwxyz","en": [
{
"enProperty": "en Property",}
],"products": [
{
"id": 1,"reference": "a-product-reference"
},{
"id": 2,"reference": "myreference"
}
]
}
]
}
这已正确过滤,但是当我希望products
的数据集仅包含在“ myreference”上具有匹配引用的对象时,它将返回products
数组中的所有对象都。我尝试使用过滤器products/all
,除非所有子项都与该引用匹配,否则该过滤器显然不会返回任何结果。
是否有一种方法可以告诉Azure搜索仅返回与参考匹配的子项product
,还是我需要滚动它提供给我的数据集,然后从客户端选择正确的数据?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)