我有一个带有字段的文档"creationDate": "2015-12-13T22:00:00.000+0300"
该字段的映射为:
"creationDate": {
"type": "date",
"format": "dateOptionalTime"
}
我想用这个查询创建直方图聚合并格式化现有格式的输出日期:
{
"size": 0,
"aggs": {
"docs": {
"filter": {
"and": {
"filters": [
{
"range": {
"creationDate": {
"gte": "2015-12-23T00:00:00+02:00",
"lte": "2015-12-23T23:59:59+02:00"
}
}
}
]
}
},
"aggs": {
"deep": {
"nested": {
"path": "actions"
},
"aggs": {
"histogram": {
"date_histogram": {
"field": "actions.creationDate",
"interval": "1h",
"format": "yyyy-MM-dd'T'HH:mm:ssZ",
"time_zone": "+03:00"
}
}
}
}
}
}
}
}
但结果我得到了UTC格式的结果:
{
"key_as_string": "2015-12-13T19:00:00+0000",
"key": 1450033200000,
"doc_count": 1
}
我不明白为什么存在格式转换为UTC,以及如何获得期望的格式?我认为"time_zone"参数应该可以解决这个问题,但没有
我假设您使用的是Elasticsearch 1.x,因为这似乎是2.x中改进的预期行为。请参阅此处的注释,以及在2.x分支中添加此增强的问题。