首页 > 解决方案 > 如何使用logstash将数组元素转换为小写

问题描述

我的弹性搜索文档中有一个数组字段。

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

我想将其转换为以下格式

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

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

提前致谢

标签: elasticsearchlogstash

解决方案


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

filter {
   ...

   mutate {
        lowercase => [ "Array" ]
   }

   ...
}

您也可以使用Elasticsearch中的摄取管道来执行此操作:

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

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

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

推荐阅读