聚合0计数弹性搜索

时间:2015-07-21 08:51:41

标签: elasticsearch aggregation

我的弹性索引(id,name,dept,status)中的文档集合为{1,pone,d1,m2} {2,ptwo,d1,m2},{3,ptwo,d2,m1} I希望查询通过dept获取'm2'状态的结果组。此外,结果集应包括零计数为{d1:2},{d2:0}的记录。我们如何使用Elastic Search aggs实现它?

 {
   "query": {
        "match": {
           "status": "m2"
        }
    },
    "aggs" : {
        "results" : {
            "terms" : {
               "field" : "dept"
            }
        }
    }
 }

此查询返回'dept'而不计数为{d1:2}。此外,我还希望记录0计数为{d1:2},{d2:0}。感谢

1 个答案:

答案 0 :(得分:13)

您正在寻找的是min_doc_count setting。试试这个:

{
   "query": {
        "match": {
           "status": "m2"
        }
    },
    "aggs" : {
        "results" : {
            "terms" : {
               "field" : "dept",
               "min_doc_count" : 0      <------ add this setting
            }
        }
    }
 }