Ich bin neu bei Nest und ich erstelle sehr wahrscheinlich keine Suchanfrage, wie ich denke. Meine Frage ist mehr in Richtung eines Mannes, der lieber fischt als mir einen Fisch zu geben. Ich werde jedoch mein aktuelles Problem als Beispiel verwenden.
Ich habe mehrere Dokumente in ElasticSearch vom Typ Series
. Ich werde es unten ohne die Attribute und die öffentlichen Modifikatoren mit nur der Information ausschließen, die zu der Abfrage gehört:
Das sind alles gut und dandy. Ich kann Get()
a Series
Objekt kein Problem. Das Problem, auf das ich stoße, ist herauszufinden, wie Nest meine Anfrage formatiert. Mein unmittelbares Ziel ist es, das neueste Series
zu finden, das auf Role.Visitor
freigeschaltet werden kann. Ich richte die Nest-Abfrage wie folgt ein:
Meiner Meinung nach sollte dies eine Abfrage erzeugen, die die Serie filtert, so dass nur diejenigen berücksichtigt werden, die ReleasableTo
my Role.Visitor
sind, nach Enddatum sortiert und die Ergebnisse auf eins zurückgestellt werden. Das wäre genau das, was ich will. In den mehreren tausend Aufzeichnungen, die ich für die Serie habe, passen etwa 90% dieses Profil. Leider gibt die Abfrage 0 Ergebnisse zurück. Es gibt keinen Fehler, nur keine Ergebnisse. Was ich nicht weiß, ist, wenn ich die API falsch verwende, wenn Nest eine Abfragestruktur erzeugt, die keinen Sinn ergibt, oder ich ElasticSearch einfach nicht gut genug kenne. Wenn ich die Filter
-Klausel entferne, bekomme ich ein Ergebnis, aber ich bin nicht sicher, dass jeder es sehen darf.
Wie kann ich den JSON anzeigen, den Nest erstellt und an ElasticSearch sendet?
Sie können die Werte der Suchanfragen-URL und des JSON-Anfragetexts wie folgt abrufen:
%Vor% Sie können weitere nützliche Eigenschaften in RequestInformation
zum Debuggen finden.
NEST
ist Baroque von .NET APIs. Für 2.1+ auf Anrufebene:
Auf Konfigurationsebene:
%Vor% Auf Antwortstufe schauen Sie in CallDetails.RequestBodyInBytes
.
Verwendete Erweiterungen:
%Vor%Wirklich einfach. Wenn dies mein Code ist, der sucht:
%Vor%Ich habe dann einen Haltepunkt in der Zeile oben gesetzt. Dann, in Visual Studio Direktfenster, gebe ich folgendes ein:
%Vor%und es gibt mir das:
%Vor%Hoffe, das hilft.
Unter Verwendung der neuesten elastischen Suche 5+ konnte ich meine (dank Adrian Carrs Methode) mit folgendem erreichen:
%Vor%Was mir die folgende Ausgabe gab:
%Vor%Tags und Links c# elasticsearch nest