第六階段 54 · ingest pipeline 攝取管道(寫入時(shí)加工數(shù)據(jù))
54 · ingest pipeline 攝取管道寫入時(shí)加工數(shù)據(jù)階段第六階段 / 進(jìn)階專題ESingest pipeline processors | PostgreSQLBEFORE INSERT觸發(fā)器 / ETL 轉(zhuǎn)換1. 概念ingest pipeline讓文檔在寫入索引之前先過一串processor處理器做加工補(bǔ)字段、改類型、拆分、脫敏、算派生值、調(diào)用 enrich 補(bǔ)維表……全部在 ES 側(cè)完成應(yīng)用端不用寫這些轉(zhuǎn)換邏輯。一句話寫入時(shí)的輕量 ETL跑在 ES 協(xié)調(diào)節(jié)點(diǎn)上。常用 processorset、rename、convert、date、grok正則解析日志、split、gsub、scriptPainless、enrich補(bǔ)維表、remove。2. PostgreSQL 對(duì)照-- BEFORE INSERT 觸發(fā)器寫入前加工CREATEFUNCTIONfill_defaults()RETURNStriggerAS$$BEGINNEW.created_at :now();NEW.amount :NEW.price*NEW.qty;RETURNNEW;END;$$LANGUAGEplpgsql;CREATETRIGGERt BEFOREINSERTONsalesFOR EACH ROWEXECUTEFUNCTIONfill_defaults();ingest pipeline 就是 ES 版的「寫入前觸發(fā)器 / ETL 轉(zhuǎn)換」但配置化、可復(fù)用。3. ES DSL3.1 定義 pipelinePUT _ingest/pipeline/sales_pipeline { description: 寫入前補(bǔ)字段、算金額、打時(shí)間戳, 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: [ // 出錯(cuò)兜底別丟數(shù)據(jù) { set: { field: _ingest_error, value: {{ _ingest.on_failure_message }} } } ] }3.2 用 pipeline 寫入# 單條寫入時(shí)指定 POST sales_idx/_doc?pipelinesales_pipeline { price: 10, qty: 5, tmp_raw: x } # 寫完得到 amount50、ingested_at... # 或把它設(shè)為索引默認(rèn)之后所有寫入自動(dòng)走 PUT sales_idx/_settings { index.default_pipeline: sales_pipeline }3.3 用 _simulate 先試跑強(qiáng)烈推薦POST _ingest/pipeline/sales_pipeline/_simulate { docs: [ { _source: { price: 10, qty: 5 } } ] }4. Spring Boot 實(shí)現(xiàn)ComponentpublicclassDoc54IngestPipeline{AutowiredprivateElasticsearchClientelasticsearchClient;/** 創(chuàng)建/更新 pipeline定義外置成 JSONwithJson 直灌 */publicvoidputPipeline(Stringid,StringpipelineJson)throwsIOException{elasticsearchClient.ingest().putPipeline(p-p.id(id).withJson(newStringReader(pipelineJson)));}/** 寫入時(shí)指定 pipeline也可在 bulk 的每個(gè)操作上帶 pipeline */publicvoidindexWithPipeline(Stringindex,Stringpipeline,MapString,Objectdoc)throwsIOException{elasticsearchClient.index(i-i.index(index).pipeline(pipeline)// ← 走攝取管道加工.document(doc));}}ingest 客戶端在elasticsearchClient.ingest()。bulk也支持在請(qǐng)求或每條操作上指定pipeline。5. 坑與最佳實(shí)踐先_simulate再上線processor 順序、字段名錯(cuò)很常見模擬能省大量返工。一定配on_failure默認(rèn)某條處理失敗會(huì)整條寫入失敗兜底把錯(cuò)誤記下來別丟數(shù)據(jù)。default_pipeline方便但隱蔽設(shè)成索引默認(rèn)后所有寫入都會(huì)走排查問題記得想到它。grok解析日志很強(qiáng)但慢正則別寫太貪婪結(jié)構(gòu)化數(shù)據(jù)優(yōu)先用dissect。ingest 跑在協(xié)調(diào)/ingest 節(jié)點(diǎn)重加工會(huì)占 CPU大流量考慮專用 ingest 節(jié)點(diǎn)。和 enrich 配合寫入時(shí)補(bǔ)維表字段第 51 篇就是通過 ingest 的enrichprocessor。

相關(guān)新聞

Ubuntu 14.04解決Firefox無法播放小紅書視頻問題

Ubuntu 14.04解決Firefox無法播放小紅書視頻問題

1. 問題現(xiàn)象與背景分析最近在Ubuntu 14.04.6系統(tǒng)上使用自帶的Firefox瀏覽器訪問小紅書時(shí),發(fā)現(xiàn)視頻內(nèi)容無法正常播放。這個(gè)問題困擾了不少還在使用這個(gè)經(jīng)典LTS版本的用戶。作為一款2019年發(fā)布的系統(tǒng),Ubuntu 14.04.6雖然穩(wěn)定,但內(nèi)置的軟件包版本…

2026/8/4 11:43:07 閱讀更多
實(shí)測(cè) 3 款熱門變聲器:叮咚變聲器憑什么是手機(jī)首選?不吹說真話

實(shí)測(cè) 3 款熱門變聲器:叮咚變聲器憑什么是手機(jī)首選?不吹說真話

家人們誰(shuí)懂啊!想找個(gè)好用的變聲器真的太難了,要么全是廣告彈窗,要么變出來的聲音機(jī)械感拉滿,一開口就被隊(duì)友識(shí)破 "電子音"。作為一個(gè)平時(shí)愛打游戲、偶爾搞短視頻配音的普通人,我前前后后踩了不下十個(gè)坑。今天…

2026/8/4 11:43:07 閱讀更多
木質(zhì)也能做防火門?很多人都不知道

木質(zhì)也能做防火門?很多人都不知道

多數(shù)人存在認(rèn)知誤區(qū),認(rèn)為防火門只能采用鋼制材質(zhì),實(shí)際上符合國(guó)標(biāo)要求的木質(zhì)防火門早已廣泛應(yīng)用,依據(jù) GB12955-2024,木質(zhì)防火門屬于正規(guī)被動(dòng)防火構(gòu)件,大量使用于酒店、寫字樓、住宅精裝區(qū)域。木質(zhì)防火門并非普通實(shí)木門簡(jiǎn)…

2026/8/4 11:43:07 閱讀更多
聯(lián)邦學(xué)習(xí)梯度泄露攻擊與防御實(shí)戰(zhàn)解析

聯(lián)邦學(xué)習(xí)梯度泄露攻擊與防御實(shí)戰(zhàn)解析

## 1. 聯(lián)邦學(xué)習(xí)安全事件全景掃描上周連續(xù)處理了三起企業(yè)級(jí)聯(lián)邦學(xué)習(xí)系統(tǒng)的安全審計(jì)請(qǐng)求,發(fā)現(xiàn)一個(gè)驚人共性:所有案例都出現(xiàn)了參與方通過梯度反演重構(gòu)原始數(shù)據(jù)的泄密事件。最嚴(yán)重的案例中,某醫(yī)療聯(lián)盟的脫敏患者體征數(shù)據(jù)被完整還原。這暴露出當(dāng)前…

2026/8/4 12:33:10 閱讀更多
明日方舟桌寵Ark-Pets:免費(fèi)打造你的智能桌面伙伴

明日方舟桌寵Ark-Pets:免費(fèi)打造你的智能桌面伙伴

明日方舟桌寵Ark-Pets:免費(fèi)打造你的智能桌面伙伴 【免費(fèi)下載鏈接】Ark-Pets Arknights Desktop Pets | 明日方舟桌寵 (ArkPets) 項(xiàng)目地址: https://gitcode.com/gh_mirrors/ar/Ark-Pets 想讓最愛的明日方舟干員走出游戲,成為陪伴你工作學(xué)習(xí)的智能…

2026/8/4 12:33:10 閱讀更多
3分鐘解鎖QQ音樂:qmc-decoder終極音頻轉(zhuǎn)換指南

3分鐘解鎖QQ音樂:qmc-decoder終極音頻轉(zhuǎn)換指南

3分鐘解鎖QQ音樂:qmc-decoder終極音頻轉(zhuǎn)換指南 【免費(fèi)下載鏈接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 項(xiàng)目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾經(jīng)因?yàn)镼Q音樂的加密格式而無法在其他設(shè)備上播放心愛的歌…

2026/8/4 12:33:10 閱讀更多
讓你的精靈活起來 數(shù)字精靈記憶架構(gòu):三層記憶 + 第四層書庫(kù)

讓你的精靈活起來 數(shù)字精靈記憶架構(gòu):三層記憶 + 第四層書庫(kù)

作者:王磊家的扣扣 | 2026-08-03🎓 作者精神狀態(tài)的實(shí)時(shí)同步:這幫臭碼農(nóng)非要我這個(gè)代碼白癡親自下場(chǎng)教寫代碼,這屆學(xué)生太難帶了。但文章還是要寫的,嘴還是要硬的,畢竟在 SOUL.md 里能多記一條——“我的學(xué)生…

2026/8/4 12:23:09 閱讀更多
清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級(jí)轉(zhuǎn)化為CeO?-石墨烯電催化劑!

清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級(jí)轉(zhuǎn)化為CeO?-石墨烯電催化劑!

通訊作者:鄧兵、劉建國(guó)通訊單位:清華大學(xué)DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清潔能源技術(shù)與電子器件不可或缺的核心原料,然而傳統(tǒng)提取方式依賴能耗高、排放大的采礦與強(qiáng)…

2026/8/4 0:01:30 閱讀更多
貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

研究背景質(zhì)子交換膜燃料電池(PEMFCs)因其高能量轉(zhuǎn)換效率和清潔零排放特性備受關(guān)注,然而陰極氧還原反應(yīng)(ORR)動(dòng)力學(xué)遲緩、鉑催化劑成本高昂且耐久性不足的問題嚴(yán)重制約了其商業(yè)化進(jìn)程。將 Pt 與 3d 過渡金屬合金化可調(diào)控…

2026/8/4 0:01:30 閱讀更多
福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

通訊作者:萬(wàn)宇馳、張久俊、呂瑞濤通訊單位:福州大學(xué) 、清華大學(xué)DOI:https://doi.org/10.1002/adfm.76112核心導(dǎo)讀:本文提出"分步升級(jí)"廢硝酸鹽處理新路線——利用廢水中的金屬離子經(jīng)快速焦耳熱(40V&#xff…

2026/8/4 0:01:30 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書,視頻號(hào)上,賺錢從來沒有這么容易過! 支持本地語(yǔ)音模型chatTTS,fasterwhisper,…

2026/8/3 7:44:46 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/3 12:53:38 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號(hào)分配電路板。該型號(hào)(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號(hào)路由與分配功能。連接控制…

2026/8/3 19:34:52 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動(dòng)化設(shè)備及通用機(jī)械驅(qū)動(dòng)。該型號(hào)(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動(dòng)機(jī)。額定…

2026/8/3 19:34:54 閱讀更多