如何使用Logstash将字符串字段转换为数组

如何使用Logstash将字符串字段转换为数组,logstash,Logstash,如何使用Logstash将字符串字段转换为数组 我有一个字段,如下所示: "language" : "english" 我需要将其转换为: "language" : ["english"] 提前感谢。假设您的字段语言已映射到数据类型(通常为文本/关键字),转换将在索引时引发问题,因为数组类型与文本/关键字类型不匹配 请注意,由于,Elasticsearch将自动为语言字段创建到文本/关键字的映射(假设第一个索引值是类似“english”的字符串),即使您尚未为该索引设置显式映射。 因此,根据

如何使用Logstash将字符串字段转换为数组

我有一个字段,如下所示:

"language" : "english"
我需要将其转换为:

"language" : ["english"]
提前感谢。

假设您的字段语言已映射到数据类型(通常为文本/关键字),转换将在索引时引发问题,因为数组类型与文本/关键字类型不匹配

请注意,由于,Elasticsearch将自动为语言字段创建到文本/关键字的映射(假设第一个索引值是类似“english”的字符串),即使您尚未为该索引设置显式映射。

因此,根据您的映射,我建议为该数组创建一个新字段

您可以通过以下类似的方法来实现这一点(但未经测试):

过滤器{
红宝石{
代码=>'
langValue=event.get(“语言”)
langArray=[]

langArray谢谢!它现在正在使用上面的ruby过滤器。
filter{
  ruby{
    code => '
      langValue = event.get("language")

      langArray = []
      langArray << langValue

      event.set("name_of_the_new_field", langArray)
    '
  }
}