发布时间:2026/8/4 11:43:25
第六阶段 54 · ingest pipeline 摄取管道(写入时加工数据) 54 · ingest pipeline 摄取管道写入时加工数据阶段第六阶段 / 进阶专题ESingest pipeline processors | PostgreSQLBEFORE INSERT触发器 / ETL 转换1. 概念ingest pipeline让文档在写入索引之前先过一串processor处理器做加工补字段、改类型、拆分、脱敏、算派生值、调用 enrich 补维表……全部在 ES 侧完成应用端不用写这些转换逻辑。一句话写入时的轻量 ETL跑在 ES 协调节点上。常用 processorset、rename、convert、date、grok正则解析日志、split、gsub、scriptPainless、enrich补维表、remove。2. PostgreSQL 对照-- BEFORE INSERT 触发器写入前加工CREATEFUNCTIONfill_defaults()RETURNStriggerAS$$BEGINNEW.created_at :now();NEW.amount :NEW.price*NEW.qty;RETURNNEW;END;$$LANGUAGEplpgsql;CREATETRIGGERt BEFOREINSERTONsalesFOR EACH ROWEXECUTEFUNCTIONfill_defaults();ingest pipeline 就是 ES 版的「写入前触发器 / ETL 转换」但配置化、可复用。3. ES DSL3.1 定义 pipelinePUT _ingest/pipeline/sales_pipeline { description: 写入前补字段、算金额、打时间戳, processors: [ { set: { field: ingested_at, value: {{_ingest.timestamp}} } }, { convert: { field: qty, type: integer } }, { script: { source: ctx.amount ctx.price * ctx.qty } }, { remove: { field: tmp_raw, ignore_missing: true } } ], on_failure: [ // 出错兜底别丢数据 { set: { field: _ingest_error, value: {{ _ingest.on_failure_message }} } } ] }3.2 用 pipeline 写入# 单条写入时指定 POST sales_idx/_doc?pipelinesales_pipeline { price: 10, qty: 5, tmp_raw: x } # 写完得到 amount50、ingested_at... # 或把它设为索引默认之后所有写入自动走 PUT sales_idx/_settings { index.default_pipeline: sales_pipeline }3.3 用 _simulate 先试跑强烈推荐POST _ingest/pipeline/sales_pipeline/_simulate { docs: [ { _source: { price: 10, qty: 5 } } ] }4. Spring Boot 实现ComponentpublicclassDoc54IngestPipeline{AutowiredprivateElasticsearchClientelasticsearchClient;/** 创建/更新 pipeline定义外置成 JSONwithJson 直灌 */publicvoidputPipeline(Stringid,StringpipelineJson)throwsIOException{elasticsearchClient.ingest().putPipeline(p-p.id(id).withJson(newStringReader(pipelineJson)));}/** 写入时指定 pipeline也可在 bulk 的每个操作上带 pipeline */publicvoidindexWithPipeline(Stringindex,Stringpipeline,MapString,Objectdoc)throwsIOException{elasticsearchClient.index(i-i.index(index).pipeline(pipeline)// ← 走摄取管道加工.document(doc));}}ingest 客户端在elasticsearchClient.ingest()。bulk也支持在请求或每条操作上指定pipeline。5. 坑与最佳实践先_simulate再上线processor 顺序、字段名错很常见模拟能省大量返工。一定配on_failure默认某条处理失败会整条写入失败兜底把错误记下来别丢数据。default_pipeline方便但隐蔽设成索引默认后所有写入都会走排查问题记得想到它。grok解析日志很强但慢正则别写太贪婪结构化数据优先用dissect。ingest 跑在协调/ingest 节点重加工会占 CPU大流量考虑专用 ingest 节点。和 enrich 配合写入时补维表字段第 51 篇就是通过 ingest 的enrichprocessor。

相关新闻

2026/8/4 11:43:25

Ubuntu 14.04解决Firefox无法播放小红书视频问题

1. 问题现象与背景分析最近在Ubuntu 14.04.6系统上使用自带的Firefox浏览器访问小红书时,发现视频内容无法正常播放。这个问题困扰了不少还在使用这个经典LTS版本的用户。作为一款2019年发布的系统,Ubuntu 14.04.6虽然稳定,但内置的软件包版本…

2026/8/4 11:43:25

木质也能做防火门?很多人都不知道

多数人存在认知误区,认为防火门只能采用钢制材质,实际上符合国标要求的木质防火门早已广泛应用,依据 GB12955-2024,木质防火门属于正规被动防火构件,大量使用于酒店、写字楼、住宅精装区域。木质防火门并非普通实木门简…

2026/8/4 12:28:27

SpringBoot医院药品管理系统设计与实现

1. 医院药品管理系统概述与核心需求医院药品管理系统是医疗机构信息化建设的重要组成部分,它直接关系到药品流通安全、库存管理效率和医疗服务水平。传统的人工管理模式存在诸多弊端:药品批次难以追踪、库存盘点效率低下、处方审核依赖人工经验等。我们基…

2026/8/4 12:28:27

Vue+SpringBoot影院管理系统开发实战

1. 项目概述 小徐影城管理系统是一个典型的影院业务管理平台,采用前后端分离架构实现。前端基于Vue.js构建用户交互界面,后端使用SpringBoot框架提供RESTful API服务,数据持久层采用MyBatis操作MySQL数据库。这种技术组合在2023年企业级应用开…

2026/8/4 12:28:27

Go语言定时任务实践:robfig/cron/v3从入门到源码解析

1. 项目缘起:为什么是 robfig/cron/v3?在 Go 语言的后端开发里,定时任务是个绕不开的坎。你可能用过time.Ticker简单轮询,或者为了分布式协调而引入一个庞大的任务调度中间件。但很多时候,我们需要的只是一个轻量、可靠…

2026/8/4 12:28:27

JavaScript闭包:原理、应用与优化实践

1. 闭包的本质与运行机制 闭包(Closure)是JavaScript中函数和声明该函数的词法环境的组合。这个定义听起来有些抽象,让我们用一个实际例子来拆解: function outer() {let count 0;function inner() {count;console.log(count);…

2026/8/4 12:28:27

海豚智校:一站式智慧校园管理云平台,让 K12 校园管理更省心

智慧校园 校园进出管理 智慧食堂 学生综合素质评价 AI 校园助手 | 面向幼儿园至高中的 SaaS 教育数字化方案每到开学季,不少学校的后勤、德育、教务老师都会遇到相似的困扰:学生进出校靠纸质假条和保安肉眼辨认,请假数据散落在…

2026/8/3 21:14:30

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/4 0:02:01

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/3 22:40:58

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/3 13:26:41

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/3 16:43:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…