2016-04-29 53 views
1

我必須獲得給定日期之前存在的數據的數量。在我的情況11月1日到2015年我嘗試添加如下過濾器:其中,CT是格式YYYY-MM-DDTHH的創建時間:MM:SS如何在elasticsearch中的某個日期之前獲得交易

"filter": 
    { 

     "range": 
     { 
      "ct": 
      { 
       "lte":"2014-11-01", 
       "gte":"2000-01-01" 
      } 
     } 
    } 

我也嘗試另一個過濾器,如下所示:

"aggregations": { 
    "range": { 
     "date_range": { 
      "field": "ct", 
      "ranges": [ 
       { "to": "2015-11-02" } 
       ] 
      } 
     } 
    } 

但沒有運氣。任何幫助將非常感激。提前致謝。

+0

你會得到什麼結果以及如何發送您的查詢? – Val

+0

感謝您的及時迴應。我通過Chrome的感官插件發送查詢。即使在2016年,我也得到了創造時間的結果,這不是預期的結果。 –

+0

請指定'ct'字段的映射。是日期嗎? – Richa

回答

1

你應該使用group by來得到你想要的結果。請嘗試這一個:

{ 
    "size": 0, 
    "aggs": { 
    "group_by_date": { 
     "range": { 
     "field": "ct", 
     "ranges": [ 
      { 
      "to": "2015-06-18T12:28:25.013Z" 
      } 
     ] 
     } 
    } 
    } 
} 
相關問題