添加一个复制字段并将其设置为小写
Adding a copy field and set it lowercase
我在使用 mutate 过滤器时遇到问题,我需要将字段副本设置为小写。
但是当我尝试在 elastic 上加载时,字段副本不会是小写的。
我的 Logstash 版本是 5.2
我正在使用以下配置:
filter {
mutate {
rename => {"desc_ufe" => "state" }
rename => {"desc_local" => "city" }
rename => {"desc_bairro" => "neighborhood" }
rename => {"desc_lograd" => "streetName" }
rename => {"desc_cep" => "postalCode" }
rename => {"desc_lograd_complemento" => "supplement" }
rename => {"cod_mun" => "IBGEcode" }
convert => {"IBGEcode" => "string"}
add_field => {"statecp" => "%{state}"}
add_field => {"citycp" => "%{city}"}
add_field => {"neighborhoodcp" => "%{neighborhood}"}
add_field => {"streetNamecp" => "%{streetName}"}
add_field => {"supplementcp" => "%{supplement}"}
lowercase => ["statecp","citycp","neighborhoodcp","streetNamecp","supplementcp"]
}
}
感谢您的帮助。
你正在成为变异过滤器做事顺序的牺牲品。它不是基于您的配置文件中的顺序——而是基于 mutate.rb 代码执行它的顺序。
- 强制
- 重命名
- 更新
- 替换
- 转换
- gsub
- 大写
- 大写
- 小写
- 剥离
- 移除
- 拆分
- 加入
- 合并
- 复制
后跟适用于匹配事件的任何其他内容(即 add_field
)
只需将您的 lowercase
移动到第二个 mutate
过滤器,它应该可以正常工作。
我在使用 mutate 过滤器时遇到问题,我需要将字段副本设置为小写。 但是当我尝试在 elastic 上加载时,字段副本不会是小写的。
我的 Logstash 版本是 5.2
我正在使用以下配置:
filter {
mutate {
rename => {"desc_ufe" => "state" }
rename => {"desc_local" => "city" }
rename => {"desc_bairro" => "neighborhood" }
rename => {"desc_lograd" => "streetName" }
rename => {"desc_cep" => "postalCode" }
rename => {"desc_lograd_complemento" => "supplement" }
rename => {"cod_mun" => "IBGEcode" }
convert => {"IBGEcode" => "string"}
add_field => {"statecp" => "%{state}"}
add_field => {"citycp" => "%{city}"}
add_field => {"neighborhoodcp" => "%{neighborhood}"}
add_field => {"streetNamecp" => "%{streetName}"}
add_field => {"supplementcp" => "%{supplement}"}
lowercase => ["statecp","citycp","neighborhoodcp","streetNamecp","supplementcp"]
}
}
感谢您的帮助。
你正在成为变异过滤器做事顺序的牺牲品。它不是基于您的配置文件中的顺序——而是基于 mutate.rb 代码执行它的顺序。
- 强制
- 重命名
- 更新
- 替换
- 转换
- gsub
- 大写
- 大写
- 小写
- 剥离
- 移除
- 拆分
- 加入
- 合并
- 复制
后跟适用于匹配事件的任何其他内容(即 add_field
)
只需将您的 lowercase
移动到第二个 mutate
过滤器,它应该可以正常工作。