Ich möchte Daten aus meiner MySQL-Datenbank zu Elasticsearch mit Logstash importieren. Ich bin bereits in der Lage, ein benutzerdefiniertes Abfrageergebnis zu importieren, aber ich vermisse den Punkt, wo ich die Zuordnung/Einstellungen des Indexes definieren kann, der von logstash erstellt wird. Außerdem habe ich keine Ahnung, wie man Daten mit einer zu vielen Beziehungen importiert.Importieren von Daten von Mysql zu Elasticsearch mit Logstash
Das ist mein logstash.conf ist so weit:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/shop"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "C:\Users\curUser\Desktop\mysql-connector-java-5.1.42\mysql-connector-java-5.1.42-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM variants var"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "search"
document_type => "variants"
document_id => "%{id}"
}
}
Hinweis: Ich möchte logstash verwenden nur Daten zu importieren, um Elasticsearch. Dies ist für einen Online-Shop, also muss ich einige Analysatoren auf den Feldern verwenden
ich bereits der Dokumentation gelesen habe, auszuführen und kam zu dem gleichen Ergebnis. Wenn ja, weiß ich, wie man das Index-Mapping mit curl einsetzt, aber was ist mit den verschachtelten Feldern? Hast du irgendeine Idee? Simple "innere join" – RoyRobsen
nicht funktioniert, dann Sie so etwas wie ' Filter { mutieren { Umbenennungs => { "columnToNest"=> "[ebenen1] [Level2]"}} } ' verwenden könnte – aclokay