我一直在绞尽脑汁,梳理文档以找到一个Elasticsearch查询,该查询将帮助我解决一个简单的问题,但似乎找不到解决方案。我正在尝试获取不包含嵌套值的所有项目的计数。例如,带有以下项目:
"label": item1
"customFields": [
{
"key": "firstType",
"value": "foo"
},
{
"key": "secondType",
"value": "bar"
}
]
我想找到所有不包含"key":"secondType"
的项目。我试过使用失踪,但由于它是一个嵌套的值,所以不太匹配。我在嵌套路径聚合中使用了must_not
过滤器,但是不幸的是,它返回的不是非secondType的所有KEYS的计数,而是项的计数。有什么我想念的吗?
谢谢!
答案 0 :(得分:0)
您不需要聚合,应该使用简单的must_not
查询,例如:
{
"query": {
"bool": {
"must_not": [
{
"match": {
"customFields.key": "secondType"
}
}
]
}
}
}