在Elasticsearch 5.0版本以后引入了 Ingest Pipeline,用于在文档被索引之前进行预处理。Pipeline 定义了一系列按顺序执行的 processors, 一个 pipeline 由 description 和 processors两部分组成:
PUT _ingest/pipeline/my-pipeline-id
{
"description" : "...",
"processors" : [ ... ]
}
主要应用场景:
- 预处理原数据
- 写入数据、更新数据
- 重建索引数据
- 通用共用函数功能模块
注:Ingest Pipeline 非常强大,他通过 Painless 脚本能修改所有数据,包括原始数据和元数据。
一、Processors类型详解
processors 类型比较多,我们工作中常用的应该是三种类型,使用好这三种类型就能应对工作中大部分场景了:Script Processor、Set Processor、Remove Processor 。
1、Script Processor
该 Processor 是 Ingest 中功能最强大的Processor,利用Elasticsearch提供的脚本能力。
{
"script": {
"lang&#