在kibana上将字段编号转换为日期,进行弹性搜索

时间:2019-01-04 08:49:07

标签: elasticsearch kibana

我通过Kibana在Elasticsearch上有一个字段编号。

这是一个示例字段:

"insert.datePeticio:1,546,185,770,733"

为了可视化目的,我需要将此字段转换为日期。

如何将其解析为日期模式?

1 个答案:

答案 0 :(得分:1)

据我了解,您在Elasticsearch上有一个整数字段,用于存储自该纪元以来的毫秒数的日期/时间。您想将其转换为适当的日期类型,以正确显示在Kibana上。在这种情况下,我将推荐两种解决方案:

1)如果能够定义映射,请在insert.datePeticio字段中使用以下内容:

"mappings": {
  "_doc": {
    "properties": {
      "insert.datePeticio": {
        "format": "epoch_millis",
        "type": "date"
      }
    }
  }
}

这使Kibana可以将insert.datePeticio字段定义和表示为日期,即使实际值在Elasticsearch中以毫秒为单位存储为整数。

2)如果没有,则无法在原始映射上进行任何更改,请在Kibana上创建如下脚本字段:

  • 转到管理>索引模式
  • 选择要修改的索引模式
  • 选择索引模式的“脚本字段” 标签
  • 点击添加脚本字段
  • 请参考以下图片填写表格,然后保存。

How to create a scripted field

如果转到 Kibana>发现,则可以以不同的表示形式和类型一起看到两个字段:insert.datePeticio: 1,546,185,770,733insert.datePeticio_UTC:December 30th 2018, 16:02:50.733。由于是日期类型,因此脚本字段insert.datePeticio_UTC可以轻松地用于基于日期聚合创建可视化效果。

  

注意:脚本字段从Elasticsearch索引中的数据动态计算数据。请记住,使用脚本字段即时计算数据会占用大量资源,并且会直接影响Kibana的性能。