elasticsearch 使用数字字段作为Kibana date_直方图聚合中的日期
我试图使用Kibana中的可视化功能来绘制每月的日期直方图,统计系统中的消息。消息类型有一个elasticsearch 使用数字字段作为Kibana date_直方图聚合中的日期,elasticsearch,kibana,aggregation,elasticsearch,Kibana,Aggregation,我试图使用Kibana中的可视化功能来绘制每月的日期直方图,统计系统中的消息。消息类型有一个sent_at字段,该字段自历元时间起存储为number。 虽然我可以通过elasticsearch查询很好地做到这一点 POST /_all/message/_search?size=0 { "aggs" : { "monthly_message" : { "date_histogram" : { "field" : "se
sent_at
字段,该字段自历元时间起存储为number
。
虽然我可以通过elasticsearch查询很好地做到这一点
POST /_all/message/_search?size=0
{
"aggs" : {
"monthly_message" : {
"date_histogram" : {
"field" : "sent_at",
"interval" : "month"
}
}
}
}
我在Kibana遇到一个问题,说没有兼容的字段:“myindex”索引模式不包含以下任何字段类型:date
有没有办法让Kibana使用
number
字段作为日期?据我所知,Kibana将使用索引映射来查找日期字段,如果找不到日期字段,则Kibana将无法从其他数字字段中推断一个字段
您可以做的是将另一个名为sent_at_date
的字段添加到映射中,然后使用查询更新API将sent_at
字段复制到该新字段,最后在Kibana中重新创建索引模式
基本上是这样的:
# 1. add a new field to your mapping
PUT myindex/_mapping/message
{
"properties": {
"sent_at_date": {
"type": "date"
}
}
}
# 2. update all your documents
POST myindex/_update_by_query
{
"script": {
"source": "ctx._source.sent_at_date = ctx._source.sent_at"
}
}
最后在Kibana中重新创建索引模式。您应该会看到一个名为sent\u at_date
的新字段,类型为date
,您可以在Kibana中使用它