如何在不修改aggregation
术语的情况下使elasticsearch query
从聚合结果中删除某些存储桶键。例如,我想从存储桶列表中删除''
个空键。是否有某种我可以使用的条款?
我的查询是这样的
{
"query": {
"terms": {
...
}
},
"aggs": {
"name_match": {
"terms": {
"field": "name_match",
"min_doc_count": 2,
"size": 20
}
}
}
}
结果:
{
"hits": {
...
},
"aggregations": {
"name_match": {
"buckets": [
{
"key": "A",
"doc_count": 136
},
{
"key": "B",
"doc_count": 16
},
{
"key": "",
"doc_count": 24
}]
}
}
}
通缉结果
{
"hits": {
...
},
"aggregations": {
"name_match": {
"buckets": [
{
"key": "A",
"doc_count": 136
},
{
"key": "B",
"doc_count": 16
}]
}
}
}
答案 0 :(得分:2)
是的,可以使用exclude
中提供的terms aggregation
参数。此参数采用需要从存储桶中排除的键数组。要排除特定键,应重写您的聚合,如下所示:
{
"query": {
"terms": {
...
}
},
"aggs": {
"name_match": {
"terms": {
"field": "name_match",
"exclude": [""],
"min_doc_count": 2,
"size": 20
}
}
}
}
您可以阅读此主题here。
希望这有帮助!