Разделение нескольких событий при вводе logstash на отдельные документы в индексе эластичного поиска - PullRequest
0 голосов
/ 20 декабря 2018

INPUT в 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

}

Пробовал фильтры split, mutate, ruby, но сделалне получить желаемый результат.Может ли кто-нибудь помочь мне разделить их на отдельные выходные данные для индекса эластичного поиска.

1 Ответ

0 голосов
/ 22 декабря 2018

Поскольку вы хотите отдельное событие для «Мэри», используйте фильтр clone, чтобы создать два события.Удалите массив «Студенты» из одной копии, чтобы оставить его с «Мэри».

Во втором клоне использование фильтра split даст вам различные события для «Тима» и «Эрика».

...