2016-10-10 34 views
1

結合日期範圍過濾我有查詢:Elasticsearch 2.4 - 與日期直方圖

{ 
    "size": 0, 
"aggs": { 
    "data_bulanan" : { 
    "date_histogram" : { 
     "field" : "creation_date", 
     "interval" : "month", 
     "format": "MMMM" 
     }, 
     "aggs": { 
      "SvcCharge" : { 
       "sum": { 
       "field": "service_tax" 
       } 
      }, 
      "GvtTax" : { 
       "sum": { 
       "field": "government_tax" 
       } 
      }, 
      "Discount" : { 
      "sum" : { 
      "field": "discount" 
       } 
      } 

     } 
    } 
    } 
} 

,我想日期範圍添加從日期到日期。例如從2014-01-01到2015-01-01。

如何添加?

謝謝

+0

所以你會基本上喜歡將結果集限制在這些日期? –

回答

2

如果你想結果集限制到指定的日期上面,你需要查詢相結合,你的聚合,可以做到像這樣

{ 
    "size": 0, 
    "query": { 
     "bool": { 
      "filter": { 
       "range": { 
        "creation_date": { 
         "gte": "2014-01-01", 
         "lte": "2015-01-01" 
        } 
       } 
      } 
     } 
    }, 
    "aggs": { 
    "data_bulanan": { 
     "date_histogram": { 
     "field": "creation_date", 
     "interval": "month", 
     "format": "MMMM" 
     }, 
     "aggs": { 
     "SvcCharge": { 
      "sum": { 
      "field": "service_tax" 
      } 
     }, 
     "GvtTax": { 
      "sum": { 
      "field": "government_tax" 
      } 
     }, 
     "Discount": { 
      "sum": { 
      "field": "discount" 
      } 
     } 
     } 
    } 
    } 
} 
+0

如何應用過濾器例如,我想只爲「user_id」的結果:1。 在mysql中我們有「where user_id = 1」 –