【发布时间】:2021-11-03 20:27:49
【问题描述】:
是否可以以 Epoch 格式存储日期,但在 Kibana 搜索查询中以 ISO 日期格式显示?
注意 - 下图描述了日期应如何在不同位置显示。大多数关于堆栈溢出的问题都只是在写入 ES 时更改格式,但我想知道是否有办法在 Kibana 中显示日期时更改格式。
【问题讨论】:
标签: elasticsearch kibana
是否可以以 Epoch 格式存储日期,但在 Kibana 搜索查询中以 ISO 日期格式显示?
注意 - 下图描述了日期应如何在不同位置显示。大多数关于堆栈溢出的问题都只是在写入 ES 时更改格式,但我想知道是否有办法在 Kibana 中显示日期时更改格式。
【问题讨论】:
标签: elasticsearch kibana
一个简单的方法是像这样使用script_fields:
GET test/_search
{
"script_fields": {
"date_iso": {
"script": {
"source": "doc.date.value"
}
}
}
}
结果 =>
{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"date" : "1635972005107"
},
"fields" : {
"date_iso" : [
"2021-11-03T20:40:05.107Z"
]
}
}
如您所见,即使date 字段以epoch 格式存储,date_iso 脚本字段仍以ISO8601 格式返回。
您还可以使用Fields API 以给定格式返回date:
GET test/_search
{
"fields": [
{
"field": "date",
"format": "date_time"
}
]
}
结果 =>
{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"date" : "1635972005107"
},
"fields" : {
"date" : [
"2021-11-03T20:40:05.107Z"
]
}
}
【讨论】: