Elasticsearch:自动使用服务器时间设置日期字段并更新时区

在大多数情况下,你的数据包含一个以 create_date 命名的字段。 即使没有日期字段,处理各种格式和时区的日期对数据仓库来说也是一个重大挑战。 与此类似,如果要检测变化的数据,则必须准确设置日期字段。
在 Elasticsearch 中还有一个选项可以自动将服务器的日期设置为字段。
我们将使用摄取管道属性的 set 和 date 处理器。
创建摄入管道
首先我们需要设置一个时间戳字段。 之后我们将使用日期处理器来更新字段。
日期处理器有一些功能。 target_field 属性就是其中之一。 如果未定义 target_field 属性,它将计算 field 并写入一个名为 @timestamp 的新字段。 但我们想要改变一个已经存在的字段。
PUT _ingest/pipeline/sales-timestamp
{"description": "Set two different timestamp fields.","processors": [{"set": {"field": "timestamp","value": "{{{_ingest.timestamp}}}"}},{"date": {"field": "timestamp","target_field": "tr_timestamp","timezone": "+0300","formats": [ "ISO8601"]}}]
}
运行上面的脚本后,系统将显示(“acknowledged”:true)消息:
{"acknowledged": true
}
此外,还可以使用 DELETE 命令进行删除或使用 GET 命令验证属性。 重新运行 PUT 命令应该足以更新管道。
GET _ingest/pipelineDELETE _ingest/pipeline/sales-timestamp
下一步是使用管道创建索引。 对于新建立的摄取管道,必须设置 index.default_pipeline。
即使它会自动填充 date 字段,你仍然需要在索引的映射中定义它们
# Create "sales" Index
PUT sales
{"settings": {"index.default_pipeline": "sales-timestamp"},"mappings": {"properties": {"timestamp": { "type": "date" },"tr_timestamp": { "type": "date" },"name": { "type": "text" },"authour": { "type": "keyword" }}}
}
写入数据
当你想同时向一个索引添加多个数据时,可以使用 Bulk API。 它尝试从每一行解析你的脚本。 这意味着你不能在批量插入期间使用格式化的 JSON。
通过这种技术,Elasticsearch 会自动为数据分配一个 ID。
POST sales/_bulk
{"index":{}}
{"name":"The Lord of the Rings: The Fellowship of the Ring","authour":"J. R. R. Tolkien"}
{"index":{}}
{"name":"The Lord of the Rings 2: The Two Towers","authour":"J. R. R. Tolkien"}
下一步将允许我们列出或搜索我们的数据。
GET sales/_search?filter_path=**.hits
{"size": 5, "query": {"match_all": {}}
}
上面运行的结果为:
{"hits": {"hits": [{"_index": "sales","_id": "rVjrTooBxPLM4Lwr4CwQ","_score": 1,"_source": {"name": "The Lord of the Rings: The Fellowship of the Ring","authour": "J. R. R. Tolkien","tr_timestamp": "2023-09-01T07:06:35.783+03:00","timestamp": "2023-09-01T04:06:35.783682Z"}},{"_index": "sales","_id": "rljrTooBxPLM4Lwr4CwQ","_score": 1,"_source": {"name": "The Lord of the Rings 2: The Two Towers","authour": "J. R. R. Tolkien","tr_timestamp": "2023-09-01T07:06:35.792+03:00","timestamp": "2023-09-01T04:06:35.792130Z"}}]}
}
在这种情况下,你应该密切关注 tr_timestamp 和 timestamp 数据。 tr_timestamp 列中的数据末尾有 “+03:00”。
你可以向索引添加更多数据。
POST sales/_bulk
{"index":{}}
{"name":"The Lord of the Rings 3: The Return of the King", "authour":"J. R. R. Tolkien"}
{"_index": "sales","_id": "r1j0TooBxPLM4LwreSyl","_score": 1,"_source": {"name": "The Lord of the Rings 3: The Return of the King","authour": "J. R. R. Tolkien","tr_timestamp": "2023-09-01T07:15:59.397+03:00","timestamp": "2023-09-01T04:15:59.397509Z"}}
更多关于 pipeline 的使用方法,请阅读文章 “Elasticsearch:ingest pipelines - 使用技巧和窍门”。
相关文章:
Elasticsearch:自动使用服务器时间设置日期字段并更新时区
在大多数情况下,你的数据包含一个以 create_date 命名的字段。 即使没有日期字段,处理各种格式和时区的日期对数据仓库来说也是一个重大挑战。 与此类似,如果要检测变化的数据,则必须准确设置日期字段。 在 Elasticsearch 中还有…...
网络技术三:局域网基本原理
局域网基本原理 使用的协议及线缆 物理层 双绞线 同轴电缆 光纤 无线电 数据链路层 以太网 唯一事实标准 令牌环 淘汰 FDDI 光纤分布式接口 网络层 IP 唯一的事实标准 IPX 淘汰 Apple talk 淘汰 局域网设备 集线器 内部为总线型拓扑 任意时间只能由一台主机占用总线&a…...
Fine-tuning Large Enterprise Language Models via Ontological Reasoning
本文是LLM系列文章,针对《Fine-tuning Large Enterprise Language Models via Ontological Reasoning》的翻译。 基于本体论推理的大型企业语言模型微调 摘要1 引言2 微调LLM的神经符号管道3 通过概念证明进行初步验证4 结论 摘要 大型语言模型(LLM&am…...
2023年全国职业院校技能大赛 高等职业教育组(信息安全管理与评估)正式赛题
全国职业院校技能大赛 高等职业教育组 qq:2366046367 q群:670610200信息安全管理与评估 任务书 模块一 网络平台搭建与设备安全防护 一、 比赛时间 本阶段比赛时长为180分钟。 二、 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 …...
基于SSM的校园驿站管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
分布式实时仿真系统-反射内存的应用
为了使分布式实时仿真系统(一个典型代表就行飞行模拟器)达到逼真的仿真效果,在系统内部,往往不仅需要对各种数据模型进行实时解算,而且需要一个延迟时间极低的确定性网络在系统之间传递数据,这样才能让各个子系统之间协调一致地工…...
【python技巧】替换文件中的某几行
【python技巧】替换文件中的某几行 1. 背景描述2. 单行修改-操作步骤3. 多行修改-操作步骤 1. 背景描述 最近在写一个后端项目,主要的操作就是根据用户的前端数据,在后端打开项目中的代码文件,修改对应位置的参数,因为在目前的后…...
内网建自己的pip源
内网建自己的pip源 一. 下载数据包二. 建立索引三. 安装nginx四. 配置nginx五.展示 一. 下载数据包 以清华源为示例 import requests import bs4 import re import wget a requests.get("https://pypi.tuna.tsinghua.edu.cn/simple").text b bs4.BeautifulSoup(a…...
Vue 3的Diff算法相比Vue 2有哪些具体的改进?
Vue 3的Diff算法相比Vue 2进行了一些具体的改进,主要包括以下几个方面: Patch flag:Vue 3引入了Patch flag的概念,用于标记组件在更新过程中的一些特殊情况,例如组件的props发生变化或只需要强制更新等。这样可以在Dif…...
网络面试题整理
TCP通讯原理:三次握手,四次挥手 TCP(Transmission Control Protocol)通信中的"三次握手"和"四次挥手"是建立和终止TCP连接时的标准过程,用于确保数据的可靠传输和连接的正确关闭。 三次握手&…...
Liquid Studio 2023.2 Crack
Liquid Studio 提供了用于XML和JSON开发 的高级工具包以及Web 服务测试、数据映射和数据转换工具。 开发环境包含一整套用于设计 XML 和 JSON 数据结构和模式的工具。这些工具提供编辑、验证和高级转换功能。对于新手或专家来说,直观的界面和全面的功能将帮助您节省…...
企业架构LNMP学习笔记8
1、 运维人员需要考虑安全性、稳定性。 安装: 解压进入到目录: shell > tar zxf php-7.2.12.tar.gz shell > cd php-7.2.12 安装依赖软件: yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel op…...
简单使用_matlab生成数据帧
文章目录 生成数据帧参考 生成数据帧 代码如下,代码很简单,有几点要注意, 较高版本的MATLAB中支持0x的写法使用bitand进行位运算使用strcat函数进行字符串拼接时,如果需要插入空格,要使用双引号 cmd_ay(1) 0x33; …...
uni-app语音转文字功能demo(同声传译)
目录 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 在文件中开始引用: 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 后续使用的时候可以看详情里面的信息进行使用 在文件中开始引用: 注意!!在这个…...
vue2+element-ui批量导入方法并判断上传的文件是否为xls或xlsx
业务需求: 代码结构: <el-dialogtitle"批量导入":close-on-click-modal"true"close"close()":visible"true"width"35%":center"true"><div class"el-dialog-div"><!-- 头部区域布局 -…...
【FPGA】通俗理解从VGA显示到HDMI显示
注:大部分参考内容来自“征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》2021.7.10(上)” 贴个下载地址: 野火FPGA-Altera-EP4CE10征途开发板_核心板 — 野火产品资料下载中心 文档 hdmi显示器驱动设计与验证 — …...
【SpringMVC】参数传递与用户请求和响应
目录 一、Postman 工具使用 1.1 Postman安装 1.2 Postman的使用 1.2.1 创建WorkSpace工作空间 1.2.2 创建请求 二、参数传递 2.1 添加 Slf4j 依赖 2.2 普通传参 知识点1:RequestMapping 知识点2:RequestParam 2.3 路径传参 知识点3࿱…...
Android图形-Hardware Composer HAL
目录 一、引言 二、概览 三、实现HWC 3.1 为什么是HWC? 3.2 HWC的支持需求 3.3 HWC的实现思路 3.4 HWC的基元 3.5 HIDL接口 3.6 函数指针 3.7 图层和屏幕句柄 3.8 屏幕合成操作 3.9 多个屏幕 3.10 虚拟屏幕合成 3.10.1 模式 3.10.2 输出格式 3.11 同…...
P1093 [NOIP2007 普及组] 奖学金
题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前 5 5 5 名学生发奖学金。期末,每个学生都有 3 3 3 门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排…...
C#模拟PLC设备运行
涉及:控件数据绑定,动画效果 using System; using System.Windows.Forms;namespace PLCUI {public partial class MainForm : Form{ public MainForm(){InitializeComponent();}private void MainForm_Load(object sender, EventArgs e){// 方式2&#x…...
如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南
如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI FFmpegGUI是一款让零基础用户也能轻松掌握专业视频处理的跨平台图形界面工具。这款基于Electron和Rea…...
2026最权威的十大降AI率神器实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 想切实降低文本的AIGC率,重点在于削减机器生成的规律性迹象。给出如下方法提议&a…...
Cursor + Claude 3.7:解锁高效编程新范式
1. 为什么开发者需要CursorClaude 3.7组合 最近在重构一个遗留的电商系统时,我遇到了所有程序员都头疼的问题:面对20万行混杂着jQuery和Vue的祖传代码,光是理清支付模块的业务逻辑就花了三天。直到同事推荐了CursorClaude 3.7这个组合&#x…...
从梁模型到软体手指:Abaqus仿真进阶,如何为超弹性材料模型设置Ogden参数?
从梁模型到软体手指:Abaqus仿真进阶,如何为超弹性材料模型设置Ogden参数? 在工程仿真领域,线性分析往往只是起点。当面对像软体机器人手指这样的柔性结构时,传统梁模型已无法准确描述其大变形行为。硅胶等超弹性材料的…...
艾体宝洞察|语义搜索与关键词搜索?业务的抉择
包括我在内,不少人第一次做搜索功能时,都会觉得这是一件没什么技术含量的事:用户输入几个词,系统返回结果,不就行了吗? 但只要你真正做过搜索系统,尤其是参与过 RAG(Retrieval-Augme…...
CLAP模型量化压缩实战:8位整数量化指南
CLAP模型量化压缩实战:8位整数量化指南 1. 引言 如果你正在为嵌入式设备部署音频AI模型而苦恼,那么CLAP模型的量化压缩可能就是你要找的解决方案。CLAP(对比语言-音频预训练)模型虽然功能强大,但其庞大的参数量让在资…...
`claude code --print` 核心含义与用法指南
claude code --print 核心含义与用法指南 --print(简写为-p)是Claude Code CLI的非交互模式参数,用于执行单个查询后直接输出结果并退出,不进入交互式会话。这是自动化脚本、管道操作和CI/CD集成的核心工具。 一、核心定义与作用 特性 说明 全称/简写 --print / -p 核心功…...
千问3.5-2B开源可部署实践:本地GPU环境一键启用,无云服务依赖
千问3.5-2B开源可部署实践:本地GPU环境一键启用,无云服务依赖 1. 模型介绍与核心能力 千问3.5-2B是Qwen系列中的小型视觉语言模型,专为图片理解与文本生成任务设计。这个开源模型最大的特点是能够同时处理视觉和语言信息,实现真…...
大模型预训练中的损失函数:从交叉熵到代码实现的全方位解析
大模型预训练中的损失函数:从交叉熵到代码实现的全方位解析 在深度学习领域,大语言模型的崛起彻底改变了自然语言处理的格局。这些庞然大物的核心驱动力之一,正是预训练阶段精心设计的损失函数。对于decoder-only架构的模型而言,交…...
OpenClaw自动化视频处理:Qwen2.5-VL-7B分析关键帧生成视频摘要
OpenClaw自动化视频处理:Qwen2.5-VL-7B分析关键帧生成视频摘要 1. 为什么需要自动化视频摘要 作为一个经常需要处理大量视频素材的自媒体创作者,我长期被一个痛点困扰:如何快速了解长视频的核心内容。传统方法要么是手动拖动进度条随机查看…...
