Wie kann ich gefilterte verschachtelte Dokumente in ElasticSearch aggregieren?

8

Angenommen, ich habe einen Index mit verschachteltem Dokument, der so aussieht:

%Vor%

Ich möchte nun eine Zählung von "Auto" -Dokumenten erhalten, die bestimmten Kriterien entsprechen, z. die einer Suchanfrage entsprechen. Mein erster Versuch war die folgende Abfrage:

%Vor%

Ich hatte gehofft, hier ein Aggregationsergebnis mit nur den IDs von Autos zu bekommen, deren Name mit "Tes" beginnt. Die Aggregation verwendet jedoch stattdessen alle Autos, die sich in einem Top-Level-Dokument befinden, das auch passende verschachtelte Dokumente enthält. Das heißt, in dem obigen Beispiel würde "Volkswagen" auch gezählt werden, weil das Dokument der obersten Ebene auch ein Auto enthält, das übereinstimmt.

Wie kann ich nur die passenden verschachtelten Dokumente zusammenfassen?

    
Tiddo 05.03.2015, 10:20
quelle

1 Antwort

9

In der Zwischenzeit habe ich es herausgefunden: Um dies zu erreichen, sollte eine Filter-Aggregation um die Begriffe Aggregation wie folgt hinzugefügt werden:

%Vor%     
Tiddo 05.03.2015, 12:15
quelle

Tags und Links