In einem relationalen DB habe ich zwei Tabellen, die durch einen Fremdschlüssel verbunden sind, in einer typischen Eins-zu-Viele-Beziehung. Ich möchte dieses Schema in ElasticSearch übersetzen, also habe ich zwei Optionen untersucht und gefunden: den nested und Eltern-Kind . Mein oberstes Ziel war es, diesen Datensatz in Kibana 4 zu visualisieren.
Eltern-Kind schien am geeignetsten zu sein, also beschreibe ich die Schritte, denen ich gefolgt bin, basierend auf dem offiziellen ES-Dokumentation und ein paar Beispiele, die ich im Internet gefunden habe.
%Vor%Hier erstelle ich den Index uncidal_struct, der zwei Typen (entsprechend den beiden relationalen Tabellen) enthält: event und details.
Das Ereignis ist das übergeordnete Element, daher ist jedem Dokument mit Details ein Ereignis zugeordnet.
Dann lade ich die Dokumente mit der Bulk-API hoch. Für Ereignis:
%Vor%Und für Details:
%Vor%Das Ereignis weiß nichts über Kinder, aber jedes Kind (Details) muss seinen Eltern festlegen. In der ES-Dokumentation sehe ich, dass der Elternteil über "Eltern" gesetzt wird, während ich in anderen Beispielen "_parent" benutze. Ich frage mich, was ist die richtige Option (obwohl zu diesem Zeitpunkt keine für mich funktioniert).
Die Anfragen wurden erfolgreich abgeschlossen und ich kann sehen, dass die Anzahl der im Index enthaltenen Dokumente der Summe der Ereignisse + Typen entspricht.
Ich kann Eltern auch nach Kindern und Kindern nach Eltern fragen, nach ES. Zum Beispiel:
%Vor%Nachdem ich den Index auf Kibana gesetzt habe, kann ich alle Felder von Eltern und Kindern auflisten. Wenn ich jedoch zur Registerkarte "discover" gehe, werden nur die übergeordneten Felder aufgelistet.
Wenn ich das Kontrollkästchen "Fehlende Felder ausblenden" deaktiviere, werden die Felder der untergeordneten Dokumente als grau dargestellt, zusammen mit einer Fehlermeldung (siehe Bild)
Mache ich etwas falsch oder wird das Eltern-Kind-Kind in Kibana4 nicht unterstützt? Und wenn es nicht unterstützt wird, was wäre die beste Alternative, um diese Art von Beziehung darzustellen?
Nach dem Kommentar in dieser Diskussion auf der elastischen Website ist P / C , wie verschachtelte Objekte, zumindest nicht in Visualisierungen unterstützt. Le seufz.
Tags und Links elasticsearch kibana lucene