Dev add_field nie je vyplnenie hodnota namiesto toho je to tvrdé-kódovanie syntax v index

0

Otázka

Snažím sa vytvárať nové výstup indexu pomocou 3 vstup index. V new výstup index potrebujem na vyplnenie špecifických polí z textu index. Snažím sa vytvoriť nové pole pomocou add_field.to je tvrdé-kódovanie like '%{[index1name][field1inIndex1]} " namiesto osídľujúcich hodnoty indexu. Snažil som sa pod kód:

input
{
elasticsearch{
hosts => ["hostname"]
index => "index1"
query => '{"query":{"match_all":{}}}'
docinfo => "true"
user => "uname"
password =>"pwd"
ssl=>"true"
}
elasticsearch {
#same like above for index2
}
elasticsearch {
#same like above for index3
}
}    
filter
{
mutate
{
add_field =>["newfieldname","%{[index1][fieldinindex1]}"]
}
}
output 
{
elasticsearch {
#creating new index here
}
}
logstash
2021-11-23 23:11:06
1

Najlepšiu odpoveď

0

Ak sprintf odkaz nie je nahradené potom znamená oblasti neexistuje na udalosť.

Index názov nie je pridané do poľa názov podľa elasticsearch vstup. (To môže byť pridaný ako súčasť [@metadáta] ak sa vám umožňujú docinfo možnosť.) Takže ak názov poľa na dokument v indexe sú vaše čítanie zo obsahuje názov indexu, čo potrebujete, je

mutate { add_field => { "newfieldname" => "%{[fieldinindex1]}" } }

Ak chcete, aby index meno v [newfieldname], potom budete musieť použiť odkaz na ňu, napríklad

mutate { add_field => { "newfieldname" => "%{[@metadata][_index]}_%{[fieldinindex1]}" } }
2021-11-24 00:55:23

Ďakujeme, že ste @Jazvec. vyššie vaša odpoveď je v práci. Ale ja som docinfo => "pravda" v mojom input plugin. Takže by to malo trvať indexname
slj

Upravená odpoveď na ukazujú, ako použiť názov indexu.
Badger

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................