2016-04-29 73 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" 
      } 
     ] 
     } 
    } 
    } 
} 
相关问题