小虾米0.0 2024-12-05 18:56 采纳率: 0%
浏览 55
已结题

es 7.17.20版本生成时间戳

es7以上的有啥版本能给每条数据生成一个时间戳昂 不用pipeline的
不在应用层指定,不用pipeline,由es自动生成,只在添加的时候多一个类似timestamp的字段有啥办法吗

  • 写回答

33条回答 默认 最新

  • 阿里嘎多学长 2024-12-05 18:56
    关注
    获得0.30元问题酬金

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解决方案

    ES7.17.0版本以上提供了 _ingest.timestamp 的功能,可以在 ingest 可插拔_pipeline 中生成时间戳。

    你可以将 _ingest.timestamp 添加到你的appings中,以便在Indexing数据时生成时间戳。

    "properties": {
      "timestamp": {
        "type": "date",
        "format": "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
      }
    }
    

    在索引 mapping 中添加了 timestamp 字段,并将其类型定义为日期格式。

    此外,你也可以使用 date _expr 来生成时间戳:

    "properties": {
      "timestamp": {
        "type": "date",
        "expr": "@timestamp"
      }
    }
    

    在上面的 expr中,@timestamp是ingest pipeline中的变量,可以生成当前时间戳。

    务必注意,在进行上述操作前,需要先创建好的indexMapping后,才能在es 中应用这些配置。

    评论

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 修改了问题 12月5日
  • 修改了问题 12月5日
  • 创建了问题 12月5日