选择满足谓词的嵌套对象
Selecting nested objects which satisfy a predicate
在 Azure 搜索中,是否可以 select 满足谓词的数组(Collection(Edm.ComplexType) 字段)中的对象?
如果数组中的任何对象满足谓词,则使用在 https://docs.microsoft.com/en-us/azure/search/search-query-understand-collection-filters#correlated-versus-uncorrelated-search returns 处指定的 any 运算符整个根对象。
示例,在 Azure 搜索中给出以下对象:
{
"arrayOfObjects": [
{
"id": 1,
"foo": "a"
},
{
"id": 2,
"foo": "b"
},
{
"id": 3,
"foo": "b"
}
]
}
是否可以 select 仅 select foo 等于“b”的嵌套对象,以便搜索响应如下所示:
{
"arrayOfObjects": [
{
"id": 2,
"foo": "b"
},
{
"id": 3,
"foo": "b"
}
]
}
不,这是不可能的。 Azure 搜索中的查询以文档的粒度而不是文档中的对象进行操作。一种可能的解决方法是对索引进行建模,使单个对象成为顶级文档。
在 Azure 搜索中,是否可以 select 满足谓词的数组(Collection(Edm.ComplexType) 字段)中的对象?
如果数组中的任何对象满足谓词,则使用在 https://docs.microsoft.com/en-us/azure/search/search-query-understand-collection-filters#correlated-versus-uncorrelated-search returns 处指定的 any 运算符整个根对象。
示例,在 Azure 搜索中给出以下对象:
{
"arrayOfObjects": [
{
"id": 1,
"foo": "a"
},
{
"id": 2,
"foo": "b"
},
{
"id": 3,
"foo": "b"
}
]
}
是否可以 select 仅 select foo 等于“b”的嵌套对象,以便搜索响应如下所示:
{
"arrayOfObjects": [
{
"id": 2,
"foo": "b"
},
{
"id": 3,
"foo": "b"
}
]
}
不,这是不可能的。 Azure 搜索中的查询以文档的粒度而不是文档中的对象进行操作。一种可能的解决方法是对索引进行建模,使单个对象成为顶级文档。