elasticsearch ElasticSearch 2.4使用两个日期字段之间的差异的日期范围直方图,elasticsearch,elasticsearch" /> elasticsearch ElasticSearch 2.4使用两个日期字段之间的差异的日期范围直方图,elasticsearch,elasticsearch" />

elasticsearch ElasticSearch 2.4使用两个日期字段之间的差异的日期范围直方图

elasticsearch ElasticSearch 2.4使用两个日期字段之间的差异的日期范围直方图,elasticsearch,elasticsearch,对于ES 2,我还没有找到任何与此相关的信息。*关于此处或文档中的问题,如果这是重复的,那么很抱歉 我试图做的是在ElasticSearch查询中创建一个聚合,它允许我根据两个日期字段之间的记录差异创建bucket 也就是说,如果我在ES中有一个商店的数据,我可能希望看到购买日期字段和发货日期字段之间的时间差 因此,在这种情况下,我希望创建一个聚合,该聚合具有桶,以便在发货日期-购买日期

对于ES 2,我还没有找到任何与此相关的信息。*关于此处或文档中的问题,如果这是重复的,那么很抱歉

我试图做的是在ElasticSearch查询中创建一个聚合,它允许我根据两个日期字段之间的记录差异创建bucket

也就是说,如果我在ES中有一个商店的数据,我可能希望看到购买日期字段和发货日期字段之间的时间差

因此,在这种情况下,我希望创建一个聚合,该聚合具有桶,以便在发货日期-购买日期<1天、1-2天、3-4天或5天以上时为我提供命中率


理想情况下,我希望这在ES查询中是可能的。是这样还是最好的方法是根据每次命中的时间差将结果处理到我自己的数组中?

我能够通过使用内置表达式语言实现这一点,该语言在ES 2.4中默认启用。我想要的功能是对结果进行分组,以显示EndDate和以15天为增量处理的日期之间的差异。查询的相关部分是:

{
   ...,
   "aggs": {
     "reason": {
       "date_histogram": {
       "min_doc_count": 1,
       "interval": "1296000000ms", // 15 days
       "format": "epoch_millis",
       "script": {
         "lang": "expression",
         "inline": "doc['DateProcessed'] > doc['EndDate'] ? doc['DateProcessed'] - doc['EndDate'] : -1"
       }    
     }
     ...
   }
}

我能够通过使用内置表达式语言来实现这一点,该语言在ES 2.4中默认启用。我想要的功能是对结果进行分组,以显示EndDate和以15天为增量处理的日期之间的差异。查询的相关部分是:

{
   ...,
   "aggs": {
     "reason": {
       "date_histogram": {
       "min_doc_count": 1,
       "interval": "1296000000ms", // 15 days
       "format": "epoch_millis",
       "script": {
         "lang": "expression",
         "inline": "doc['DateProcessed'] > doc['EndDate'] ? doc['DateProcessed'] - doc['EndDate'] : -1"
       }    
     }
     ...
   }
}