elasticsearch - 如何使用logstash将数组元素转换为小写
问题描述
我的弹性搜索文档中有一个数组字段。
Array = ["German", "Spanish" , "English"]
我想将其转换为以下格式
Array = ["greman", "spanish", "english" ]
如何在使用 Logstash 重新索引时将数组内容转换为小写?
提前致谢
解决方案
如果您想在 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"
...
}
}
推荐阅读
- java - Java 8 map.replaceAll 方法抛出 UnsupportedOperationException
- java - java中单行调用多个方法叫什么?在下面的代码中,我们有方法manage()、window()和maximize()
- python - 当给定数据框中的数组元素时,如何在同一行上找到另一个元素
- java - 如何在 spring 批处理项目中使用 JDBC 和 HikariCP 连接到 hive?
- google-apps-script - 我在单元格中有一个日期和时间,我想将其缩减为一个时间
- python - 使用 SSMS 从 Python 输出表上传数据并将其保存在数据库中
- python - 无法从每个列表中获取 eBay 链接
- regex - 正则表达式删除字符串的前两个字符
- javascript - 使用循环的 Javascript 变量
- react-native - 循环音频的 SetTimeout - 世博会