Link Search Menu Expand Document Documentation Menu

Join 处理器

join 处理器将数组的元素连接成一个单一的字符串值,并在每个元素之间使用指定的连接符。如果提供的输入不是数组,它将抛出异常。

以下是 join 处理器的语法

{
  "join": {
    "field": "field_name",
    "separator": "separator_string"
  }
}

配置参数

下表列出了 join 处理器所需和可选的参数。

参数 必需/可选 描述
field 必需 应用 join 运算符的字段名称。必须是数组。
separator 必需 连接字段值时使用的字符串连接符。如果未指定,则值将不带连接符地连接。
target_field 可选 指定要将清理后的值分配到的字段。如果未指定,则在原地更新字段。
description 可选 处理器的目的或配置说明。
if 可选 指定条件性执行处理器。
ignore_failure 可选 指定忽略处理器的故障。参见 处理管道故障
on_failure 可选 指定处理器的故障处理方式。参见 处理管道故障
tag 可选 处理器的标识符。用于调试和度量。

使用处理器

按照以下步骤在管道中使用处理器。

步骤 1:创建管道

以下查询创建了一个名为 example-join-pipeline 的管道,它使用 join 处理器连接 uri 字段的所有值,并用指定的连接符 / 分隔它们

PUT _ingest/pipeline/example-join-pipeline  
{  
  "description": "Example pipeline using the join processor",  
  "processors": [  
    {  
      "join": {  
        "field": "uri",  
        "separator": "/"  
      }  
    }  
  ]  
}  

步骤 2(可选):测试管道

建议在摄取文档之前测试您的管道。

要测试管道,请运行以下查询

POST _ingest/pipeline/example-join-pipeline/_simulate  
{  
  "docs": [  
    {  
      "_source": {  
        "uri": [  
          "app",  
          "home",  
          "overview"  
        ]  
      }  
    }  
  ]  
}

响应

以下示例响应确认管道按预期工作

{  
  "docs": [  
    {  
      "doc": {  
        "_index": "_index",  
        "_id": "_id",  
        "_source": {  
          "uri": "app/home/overview"  
        },  
        "_ingest": {  
          "timestamp": "2024-05-24T02:16:01.00659117Z"  
        }  
      }  
    }  
  ]  
}  

步骤 3:摄取文档

以下查询将文档摄取到名为 testindex1 的索引中

POST testindex1/_doc/1?pipeline=example-join-pipeline  
{  
  "uri": [  
    "app",  
    "home",  
    "overview"  
  ]  
} 

步骤 4(可选):检索文档

要检索文档,请运行以下查询

GET testindex1/_doc/1

剩余 350 字符

有问题?

想贡献?