在Elasticsearch中,Ingest Pipeline 的 `processors` 属性是一个数组,包含一个或多个处理器(processors)。每个处理器定义了一个数据处理步骤,可以在数据索引之前对数据进行预处理或富化。以下是对 `processors` 属性中常见处理器的详细说明:
### 常见处理器
1. **`set`**:
- **描述**: 设置或更新文档中的字段值。
- **参数**:
- `field`: 要设置的字段名称。
- `value`: 要设置的值。
- `if` (可选): 条件表达式,只有当条件为真时才执行处理器。
- **示例**:
```json
{
"set": {
"field": "status",
"value": "processed"
}
}
```
2. **`remove`**:
- **描述**: 删除文档中的字段。
- **参数**:
- `field`: 要删除的字段名称。
- `if` (可选): 条件表达式,只有当条件为真时才执行处理器。
- **示例**:
```json
{
"remove": {
"field": "temp_field"
}
}
```
3. **`rename`**:
- **描述**: 重命名文档中的字段。
- **参数**:
- `field`: 当前字段名称。
- `target_field`: 新字段名称。
- `ignore_missing` (可选): 如果为 `true`,则在字段不存在时不抛出错误。
- **示例**:
```json
{
"rename": {
"field": "old_field",
"target_field": "new_field"
}
}
```
4. **`script