将logstash中的多个事件输入到elasticsearch索引中的单独文档中

时间:2018-12-20 19:57:57

标签: elasticsearch logstash

以logstash输入:

{
"Teacher": {
"Name": "Mary",
"age": 20,

},
"Student": [
{
"Name": "Tim",
"age"12

},
{
  "Name": "Eric",
  "age":13

}
]
}

需要使用logstash过滤此输入,以将三个单独的文档发送到ElasticSearch。

doc1: {
"Name": "ABC",
"age": 20,

}
doc2: {
"Name": "Tim",
"age"12

}
doc 3:
{
"Name": "Eric",
"age":13

}

尝试使用分割,变异,红宝石过滤器,但未获得所需结果。有人可以帮我将它们分成单独的输出到elasticsearch索引中。

1 个答案:

答案 0 :(得分:0)

由于您要为“ Mary”提供单独的事件,因此请使用split过滤器创建两个事件。从一个副本中删除“学生”数组,只保留“玛丽”。

在第二个克隆中,使用{{1}}过滤器将为'Tim'和'Eric'提供不同的事件。