Elasticsearch:如何在写入文档时加上 now 时间标戳

本文介绍如何在Elasticsearch中使用_ingest.timestamp为文档自动添加当前时间作为@timestamp字段,通过创建自定义的pipeline实现,并展示实际操作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我最近由于需要需要像一个索引里写入一个文档,而且里面的时间标签 @timestamp 需要用到当前的时间。在文档里,我们没有项 now 这样的东西可以使用来表示当前的时间。那么我们该怎么办呢?

首先我们创建一个这样的 pipeline:

PUT _ingest/pipeline/add-timestamp
{
  "processors": [
    {
      "set": {
        "field": "@timestamp",
        "value": "{{_ingest.timestamp}}"
      }
    }
  ]
}

在这里,我们使用 add-timestamp 这个 pipeline 来添加一个叫做 @timestamp 的字段。它的时间由 _ingest.timestamp 来指定。

我们接下来使用如下的命令来向一个索引添加一个文档:

PUT /test/_doc/1?pipeline=add-timestamp
{
  "content": "good"
}

在这里,我们使用 add-timestamp 来添加一个 @timestamp 的字段。运行上面的命令后,我们使用如下的命令来查询:

{
  "_index" : "test",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "@timestamp" : "2020-08-08T14:33:23.372112Z",
    "content" : "good"
  }
}

从上面我们可以看出来在文档中,它添加了一个新的字段 @timestamp,而且它的时间是我们当前的电脑的时间。

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值