Wir haben einen einfachen Index namens Mitarbeiter, in denen wir nur 2 Felder Vorname, Nachname haben. Mit dem logstash-Skript laden wir unsere Mitarbeiterdaten. Wir möchten doppelte Datensätze nicht im Index speichern, obwohl wir Duplikate in der Datendatei haben. Wenn in diesem Fall Vorname + Nachname identisch sind, sollte der Datensatz nicht zum Index hinzugefügt werden.Logstash - wie man doppelte Datensätze verhindert
logstash script is:
input {
file {
path => "C:/employees.csv"
}
}
filter {
csv {
columns => [
"firstname",
"lastname"
]
separator => ","
}
}
output {
elasticsearch{
hosts => ["localhost:9200"]
index => "employees"
}
}
data file - employees.csv
john,doe
jane,doe
john,doe - this record should not be added to the index.
I went through lot of documentation and searched a lot for adding conditions in the filter clause. however, no luck so far.
Can any one provide inputs on this.
thanks
Können Sie mir die Syntax zur Verfügung stellen, den Index auf einem Hash-Basis erstellen von Nachnamen + Vornamen. Danke –
Danke, es hat perfekt funktioniert. –
Akzeptiert als Antwort. Ich habe 2 weitere Fragen. 1) Wenn ich denselben Datensatz mit anderen geänderten Feldern erhalte, wird der Datensatz nicht aktualisiert. grundsätzlich suche ich nach upsert. für zB: seine Bezeichnung, Gehalt wird geändert, dann muss der vorhandene Datensatz aktualisiert werden. Irgendwelche Eingaben dazu? 2) Gibt es irgendeinen Performance-Overhead bei der Verwendung der Hash-ID (Vorname + Nachname) anstelle der automatisch generierten ID von Elastic? Vielen Dank im Voraus –