Elasticsearch 嵌套查询:匹配 Sku.CarSpecs 数组元素
可以使用 nested 查询来实现这个需求。具体的查询语句可以如下所示:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "Sku.CarSpecs",
"query": {
"bool": {
"must": [
{
"match": {
"Sku.CarSpecs.Id": "q.Id"
}
},
{
"match": {
"Sku.CarSpecs.Value": "q.Value"
}
}
]
}
}
}
}
]
}
}
}
其中,nested 查询用于查询 Sku.CarSpecs 数组中的元素,path 参数指定了需要查询的嵌套路径。在 nested 查询的 query 参数中,使用 bool 查询来组合多个条件,其中包括两个 match 查询,分别用于匹配 Id 和 Value 字段,这两个字段的值需要与 q 数组中的对象相等。最后,将 nested 查询作为 must 查询的一部分,确保查询结果中的每个元素都必须满足这个条件。
原文地址: https://www.cveoy.top/t/topic/k6sY 著作权归作者所有。请勿转载和采集!