这是我的elasticsearch服务器中的数据:
{"system": "aaa"},
{"system": "bbb"},
{"system": null}
我想获取系统的统计信息。然后我做了查询:
{
"aggs" : {
"myAggrs" : {
"terms" : { "field" : "system" }
}
}
它给了我结果:
{
"key": "aaa",
"doc_count": 1
},
{
"key": "bbb",
"doc_count": 1
}
但"key" : null
未包含在结果中,我该如何获得?
这是我期望的结果:
{
"key": "aaa",
"doc_count": 1
},
{
"key": "bbb",
"doc_count": 1
},
{
"key": null,
"doc_count": 1
}
答案 0 :(得分:8)
我认为你不能用terms
做到这一点。尝试使用其他聚合:
{
"aggs": {
"myAggrs": {
"terms": {
"field": "system"
}
},
"missing_system": {
"missing": {
"field": "system"
}
}
}
}
结果将是:
"aggregations": {
"myAggrs": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "aaa",
"doc_count": 1
},
{
"key": "bbb",
"doc_count": 1
}
]
},
"missing_system": {
"doc_count": 1
}
}