如何使用 logstash 将数组元素转换为小写

How to convert the array elements to lowercase using logstash

我的 elasticsearch 文档中有一个数组字段。

Array = ["German", "Spanish" , "English"]

我想把它转换成下面的格式

Array = ["greman", "spanish", "english" ]

如何在使用 Logstash 重建索引时将数组内容转换为小写?

提前致谢

如果您想在 Logstash 中执行此操作,您可以利用 mutate / lowercase filter:

filter {
   ...

   mutate {
        lowercase => [ "Array" ]
   }

   ...
}

您也可以在 Elasticsearch 中使用 ingest pipeline 来做到这一点:

PUT _ingest/pipeline/lowercase-pipeline
{
  "description": "Bla bla",
  "processors": [
    {
      "lowercase": {
        "field": "Array"
      }
    }
  ]
}

然后在您的 Logstash 配置中,确保参数化您的 elasticsearch 输出以使用该管道

output {
  elasticsearch {
    ...
    pipeline => "lowercase-pipeline"
    ...
  }
}