本文基于Elasticsearch7.x
Elasticsearch可以使用自身的Ingest Pipeline功能进行数据预处理, 无须借助Logstash.
Ingest Pipeline介绍
Ingest Pipeline 就是在文档写入Data Node之前进行一系列的数据预处理, 进行数据预处理的就是processor, 一组处理器构成了Pipeline. 所有的预处理都在Ingest Node上执行, 默认情况下所有节点都是Ingest Node.
常用的processor
- split processor
字符串切分成数组 - join processor
数组转化成字符串 - gsub processor
字符串替换 - set processor
创建或替换一个字段. - remove processor
移除一个字段 - rename processor
重命名一个字段 - lowercase processor
字符串小写化 - upcase processor
字符串大写化 - script processor
使用painless脚本进行复杂的处理 - …
语法
(1) 创建pipeline
description是对pipeline的描述, processors定义了一组处理器.
PUT /_ingest/pipeline/my