Elasticsearch Verschachtelte Abfrage

8

Ich verwende die elastische Go-Bibliothek von oilere, um Elastic-Abfragen auszuführen - Ссылка

Die Daten, die ich abfragen möchte, sehen so aus:

%Vor%

Ich versuche, eine Abfrage für nestedfield mit dem Aufruf NestedQuery aus der Elastic Go-Bibliothek wie folgt auszuführen:

%Vor%

Aber ich bekomme einen Fehler mit:

  

zu viele Argumente für die Konvertierung in NestedQuery

Ich versuche, alle Dokumente zu erhalten, in denen ind1 von nestedfield val1 ist. Ich würde jede Hilfe bei der Erstellung dieser Abfrage zu schätzen wissen.

BEARBEITEN:

Ich habe es in NewNestedQuery geändert und jetzt gibt es diesen Fehler nicht mehr. Es gibt jedoch keine Ergebnisse zurück, obwohl dieses Dokument im Index vorhanden ist und ich die nicht verschachtelten Felder abfragen kann.

Ich habe es versucht:

%Vor%

Und das:

%Vor%

Aber sie geben beide 0 Ergebnisse. Irgendeine Idee, was ich falsch mache?

BEARBEITEN # 2

Das Mapping ist:

%Vor%

Was schließlich funktioniert hat, war folgendes:

%Vor%

Ich konnte zusätzliche Felder zu "nestedfield" hinzufügen und Abfragen wie:

ausführen %Vor%     
covfefe 26.09.2017, 18:48
quelle

1 Antwort

2

Sieht so aus:

%Vor%
  • NestedQuery ist ein Typ, keine Funktion.
  • NewTermQuery muss ein Wert aus dem JSON, keine Const-Zeichenfolge
  • Sie müssen Ihren Quell-JSON analysieren, um den Wert von ind1
  • zu erhalten

Bearbeitet, um NewTermQuery gemäß den folgenden Kommentaren zu korrigieren. Wenn das immer noch nicht funktioniert, geben Sie den vollständigen Code ein, den Sie verwenden, um die Quelle zu analysieren und den Fehler zu erhalten, da Sie hier nicht genug Details angeben, um das Problem zu erraten.

    
Kenny Grant 26.09.2017 20:42
quelle