2015-07-21 103 views
3

我有弹性指数(id,name,dept,status)为{1,pone,d1,m2} {2,ptwo,d1,m2},{3,ptwo ,d2,m1}我希望查询得到'm2'状态的结果组。“结果集应该包括零计数为{d1:2},{d2:0}的记录。我们如何使用Elastic Search aggs实现它?0计数聚合弹性搜索

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

该查询返回的 '部门' 无零数为{D1:2}。另外我也想用0盘点记录为{D1:2},{D2:0}。谢谢

回答

3

你在找什么是min_doc_count setting。试试这个:

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

愿意降低这一点的聪明头脑解释为什么他为了所有人的利益做了这件事吗? – Val