我的文件如下:
{
'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
值的末尾并且时间戳没有格式化吗?
答案 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为月。