Всем добрый день, есть пустые поля, которые нужно заполнить например нулями, вот только как сделать условие проверки на пустое поле? Поля не все пустые, тип поля number.
Пробовал разные проверки - ничего не выходит...
Заранее спасибо!
Есть много разных способов. Можно через logstash, например, пропустить. Можно missing в агрегациях настроить чтобы 0 выдавали. Проще всего пропустить через процессор set
с "override": false
.
Данные идут через logstash, но как я не пробовал поставить условие - ничего не получается, пробовал фильтром Mutate.
Давайте разбираться. Как выглядят ваши условия?
Вот два условия:
if ![originalCalledPartyNumber] {
mutate {
gsub => ["originalCalledPartyNumber", "", "111111111111111111"]
}
}
if "[0-9]" not in [originalCalledPartyNumber] {
mutate {
gsub => ["originalCalledPartyNumber", "^$", "111111111111111111"]
}
}
А если так:
if ![originalCalledPartyNumber] {
mutate {
add_field => { "originalCalledPartyNumber" => "111111111111111111"}
}
}
Таким способом logstash добавляет второе значение в поле originalCalledPartyNumber и на выходе получается вот так [originalCalledPartyNumber] = , 111111111111111111
Я сделал так:
if ![originalCalledPartyNumber] {
mutate {
remove_field => [ "originalCalledPartyNumber" ]
}
mutate {
add_field => { "originalCalledPartyNumber" => "0"}
}
}
При таком подходе, стало так [originalCalledPartyNumber] = 0
Типа работает как нужно, всё равно - ощущение какого то костыля))
Игорь, спасибо большое!
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.