elasticsearch结果中的日期格式不正确

时间:2016-01-17 11:59:26

标签: elasticsearch

我的文件如下:

{
   'time'   : <timestamp_with_millis>,
   'amount' : <int>
}

我在做这个查询:

{
    "aggs" : {
        "articles_over_time" : {
            "date_histogram" : {
                "field" : "time",
                "interval" : "1M",
                "format" : "yyyy-MM-dd HH:mm:ss" 
            }
        }
    }
}

我得到了:

"articles_over_time": {
      "buckets": [
        {
          "key_as_string": "yyyy-MM-dd HH:mm:ss1451606400000",
          "key": 1451606400000,
          "doc_count": 63
        }
      ]
    }

有人可以解释一下为什么密钥在key_as_string值的末尾并且时间戳没有格式化吗?

2 个答案:

答案 0 :(得分:1)

此行为是“预期的”。 date_histogram aggregation中的format参数仅适用于映射中专门用date类型映射的字段。

在您的情况下,该值为long,这解释了key_as_string以这种方式格式化的原因。如果您将字段映射从long更改为date,它将按预期工作。

以下问题将对此有所了解:https://github.com/elastic/elasticsearch/issues/8007

答案 1 :(得分:0)

你可以试试把间隔作为&#34; 1m&#34;而不是&#34; 1M&#34;我担心它的计数资本M为月。