2016-03-04 50 views
0

什麼我想要做的是採取的(東西)的數量爲每個城市每月聚集在elasticsearch一個sepcific月

我嘗試這樣做:

獲取每個城市公寓的數量在每個月

GET /bla bla/_search 
{ 
    "size" : 0, 
    "aggs": { 
    "whateveryouwant": { 
     "date_histogram": { 
     "field": "posting_date", 
     "interval": "month", 
     "min_doc_count": 1 
     }, 
     "aggs": { 
     "anything": { 
      "terms": { 
      "field": "city" 
      } 
     } 
     } 
    } 
    } 
} 

但問題是,它不是爲月,而是在每個月的第一天。

任何線索如何解決它?

+0

請分享輸出 – Richa

回答

0

實際上它會在key_as_string中顯示本月的第一個日期。但文件計數實際上是整個月的彙總。

E.g.

"aggregations": { 
     "month_histogram": { 
     "buckets": [ 
      { 
       "key_as_string": "2016-01-01T00:00:00.000Z", 
       "key": 1388534400000, 
       "doc_count": 4276 
      } 
     ] 
     } 
    } 

您可以使用下面的查詢來驗證計數,並將計數與聚合結果進行匹配。

POST blah blah/_count 
{ 
    "query": { 
     "filtered": { 
     "filter": { 
      "bool": { 
       "must": [ 
        { 
        "range": { 
         "posting_date": { 
          "gte": "2016-01-01", 
          "lte": "2016-01-31" 
         } 
        } 
        } 
       ] 
      } 
     } 
     } 
    } 
}