Elasticsearch为索引设置自动时间戳,ES自动时间戳

news2025/3/11 1:50:13

文章目录

  • 0、思路
  • 1、配置 ingest pipeline
  • 2、在索引映射中启用_source字段的时间戳
  • 3、使用 index template 全局设置时间戳
  • 4、写入测试数据
  • 5、验证结果
  • 6、总结

在使用 Elasticsearch 进行数据存储和检索时,时间戳字段是一个非常重要的组成部分。它可以帮助我们追踪数据的创建或更新时间,便于后续的查询、分析和监控。Elasticsearch 提供了多种方式来自动为文档添加时间戳字段。本文将介绍如何为索引设置自动的时间戳字段,并探讨相关的配置选项。

0、思路

设置自动时间戳字段,可以考虑 ES 的预处理功能,即 _ingest 的 pipline,在数据写入之前生成时间戳,写入到指定字段。

注意:

使用 pipeline 功能需要集群中有 ingest 的节点
即:node.roles: ingest

下面将介绍操作步骤

1、配置 ingest pipeline

Elasticsearch 的 ingest pipeline 功能允许你在数据索引之前对其进行处理。可以使用 set 处理器来添加时间戳字段。

以下涉及两个 processor,分别是 set processor和 date processor

首先,创建一个 ingest pipeline:

PUT _ingest/pipeline/pip_timestamp
{
  "processors": [
    {
      "set": {
        "field": "@timestamp",
        "value": "{{_ingest.timestamp}}",
        "override": true
      }
    },
    {
      "date": {
        "field": "@timestamp",
        "formats": ["yyyy-MM-dd HH:mm:ss","ISO8601"],
        "target_field": "@timestamp",
        "output_format": "yyyy-MM-dd HH:mm:ss",
        "timezone": "Asia/Shanghai"
      }
    }
  ]
}

上述代码创建了一个名为 pip_timestamp 的管道,可以在索引模板,或者索引中声明使用。

2、在索引映射中启用_source字段的时间戳

Elasticsearch 允许在索引映射中启用时间戳功能。可以在创建索引时,通过定义映射来启用自动时间戳字段。

PUT /my_index
{
  "settings": {
    "index":{
      "default_pipeline":"pip_timestamp"
    }
  }, 
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
      },
      "message": {
        "type": "text"
      }
    }
  }
}

在这个例子中,我们定义了一个@timestamp字段,类型为 date。当你向该索引插入文档时,Elasticsearch会自动为每个文档生成一个@timestamp字段。

3、使用 index template 全局设置时间戳

当然,你也可以在 Index_template 中定义声明,关于 pipline 的用法此处不再赘述。

如果你希望为多个索引自动添加时间戳字段,可以使用 index template。通过定义一个索引模板,你可以确保所有匹配该模板的索引都自动启用时间戳功能。

PUT _index_template/my_template
{
  "index_patterns": ["my_index*"],
  "template": {
    "mappings": {
      "properties": {
        "@timestamp": {
          "type": "date"
        }
      }
    },
    "settings": {
      "index.default_pipeline": "pip_timestamp"
    }
  }
}

在这个例子中,我们创建了一个名为 my_template 的索引模板,匹配所有以my_index 开头的索引。模板中指定了默认的 ingest pipeline 为pip_timestamp,并定义了@timestamp 字段的映射。

4、写入测试数据

然后,在索引文档时指定该pipeline:

POST my_index/_doc
{
  "message":"test_content"
}

在这个例子中,{{_ingest.timestamp}} 是一个动态变量,表示当前时间。Elasticsearch 会在索引文档时自动将当前时间戳添加到 @timestamp 字段。

POST /my_index/_doc?pipeline=pip_timestamp
{
  "message": "This is a test message"
}

5、验证结果

执行查询

GET my_index/_search

结果如下:
在这里插入图片描述

6、总结

Elasticsearch提供了多种方式来自动为索引添加时间戳字段。你可以通过索引映射、ingest pipeline、index template等方式来实现这一功能。根据你的具体需求,选择合适的方法来确保时间戳字段的准确性和一致性。

通过合理配置时间戳字段,你可以更好地管理和分析数据,提升系统的可观测性和运维效率。希望本文对你理解和使用Elasticsearch的时间戳功能有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2312981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络:计算机网络的组成和功能

计算机网络的组成: 计算机网络的工作方式: 计算机网络的逻辑功能; 总结: 计算机网络的功能: 1.数据通信 2.资源共享 3.分布式处理:计算机网络的分布式处理是指将计算任务分散到网络中的多个节点(计算机或设备&…

FPGA设计时序约束用法大全保姆级说明

目录 一、序言 二、时序约束概览 2.1 约束五大类 2.2 约束功能简述 2.3 跨时钟域约束 三、时序约束规范 3.1 时序约束顺序 3.2 约束的优先级 四、约束示例 4.1 设计代码 4.2 时序结果 4.2.1 create_clock 4.2.2 create_generated_clock 4.2.3 Rename_Auto-Derive…

云服务运维智能时代:阿里云操作系统控制台

阿里云操作系统控制台 引言需求介绍操作系统使用实例获得的帮助与提升建议 引言 阿里云操作系统控制台是一款创新型云服务器运维工具,专为简化用户的运维工作而设计。它采用智能化和可视化的方式,让运维变得更加高效、直观。借助AI技术,控制…

硬件学习笔记--48 磁保持继电器相关基础知识介绍

目录 1.磁保持继电器工作原理 2.磁保持继电器内部结构及组成部分 3.磁保持继电器主要参数 4.总结 1.磁保持继电器工作原理 磁保持继电器利用永磁体的磁场和线圈通电产生的磁场相互作用,实现触点的切换。其特点在于线圈断电后,触点状态仍能保持&#…

简记_硬件系统设计之需求分析要点

目录 一、 功能需求 二、 整体性能需求 三、 用户接口需求 四、 功耗需求 五、 成本需求 六、 IP和NEMA防护等级需求 七、 认证需求 功能需求 供电方式及防护 供电方式:市电供电、外置直流稳压电源供电、电池供电、PoE(Power Over Ether…

ubuntu 20.04下ZEDmini安装使用

提前安装好显卡驱动和cuda,如果没有安装可以参考我的这两篇文章进行安装: ubuntu20.04配置YOLOV5(非虚拟机)_ubuntu20.04安装yolov5-CSDN博客 ubuntu20.04安装显卡驱动及问题总结_乌班图里怎么备份显卡驱动-CSDN博客 还需要提前…

tauri-plugin-shell插件将_blank的a标签用浏览器打开了,,,解决办法

不要使用这个插件,这个插件默认会将网页中a标签为_blank的使用默认浏览器打开,但是这种做法在我的程序里不是很友好,我需要自定义这种行为,当我点击我自己的链接的时候,使用默认浏览器打开,当点击别的链接的…

C++ 继承(2)

Hello!!大家早上中午晚上好!!今天收尾继承剩余部分内容!! 一、友元不能继承 基类的友元函数不能被子类继承,也就是基类的友元函数访问不了子类的私有或保护成员! 1.1解决方法在子…

解决:Word 保存文档失败,重启电脑后,Word 在试图打开文件时遇到错误

杀千刀的微软,设计的 Word 是个几把,用 LaTex 写完公式,然后保存,卡的飞起 我看文档卡了很久,就关闭文档,然后 TMD 脑抽了重启电脑 重启之后,文档打不开了,显示 杀千刀的&#xff…

基于Asp.net的零食购物商城网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

ESP8266UDP透传

1. 配置 WiFi 模式 ATCWMODE3 // softAPstation mode 响应 : OK 2. PC 连⼊入 ESP8266 softAP 就是连接wifi 3.查询ESP8266设备的IP地址 ATCIFSR 响应: CIFSR: APIP, "192.168.4.1" CIFSR: APMAC, "1a: fe: 34: a5:8d: c6" CIFSR: STAIP, "192.…

UE5从入门到精通之如何创建自定义插件

前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …

基于python大数据的招聘数据可视化与推荐系统

博主介绍:资深开发工程师,从事互联网行业多年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有…

olmOCR:高效精准的 PDF 文本提取工具

在日常的工作和学习中,是否经常被 PDF 文本提取问题困扰?例如: 想从学术论文 PDF 中提取关键信息,却发现传统 OCR 工具识别不准确或文本格式混乱?需要快速提取商务合同 PDF 中的条款内容,却因工具不给力而…

Spring Boot使用JDBC /JPA访问达梦数据库

Spring Boot 是一个广泛使用的 Java 框架,用于快速构建基于 Spring 的应用程序。对于达梦数据库(DMDB)的支持,Spring Boot 本身并没有直接内置对达梦数据库的集成,但你可以通过一些配置和依赖来支持达梦数据库。 以下…

【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】

一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…

OpenText ETX 助力欧洲之翼航空公司远程工作升级

欧洲之翼航空公司,作为欧洲知名的低成本航空公司,拥有超过 130 架飞机,服务于约 60 个国家的 210 多个目的地,是欧洲第三大的点对点航空公司。面对 2020年 冠状病毒大流行的挑战,欧洲之翼航空公司迅速采取行动&#xf…

特征表示深度解析:颜色、纹理、形状与编码

第一部分:颜色与纹理特征(Part 1) 1. 颜色特征 颜色直方图(Color Histogram) 定义:统计图像中各颜色通道(R/G/B)的像素分布,形成直方图。 计算步骤: 将每个…

LeetCode Hot100刷题——反转链表(迭代+递归)

206.反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3&#…

MCU-缓存Cache与CPU中的主存SRAM

缓存(Cache)和主存(SRAM)均属于 ​SRAM,他们的核心区别: 通过 Cache 缓存 Flash 中的指令和数据,可避免 CPU 因等待数据而停滞。主存 SRAM 存储程序运行时的变量、堆栈、临时数据等。通常作为 …