Wie debuggen Sie Ihre Nest-Abfragen?

8

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:

%Vor%

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:

%Vor%

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?

    
Berin Loritsch 25.01.2015, 17:59
quelle

6 Antworten

12

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.

    
bittusarkar 25.01.2015, 19:52
quelle
7

NEST ist Baroque von .NET APIs. Für 2.1+ auf Anrufebene:

%Vor%

Auf Konfigurationsebene:

%Vor%

Auf Antwortstufe schauen Sie in CallDetails.RequestBodyInBytes .

Verwendete Erweiterungen:

%Vor%     
Dzmitry Lahoda 26.10.2016 08:04
quelle
6

Ich mag es, einen Schritt weiter zu gehen, als bsarkar vorschlägt und die Notwendigkeit einer Rundreise gänzlich beseitigt:

%Vor%

Beachten Sie, dass Ihr ElasticClient keine Verbindungseigenschaften benötigt, so dass Sie nicht von einem ES-Knoten abhängig sind.

    
Snixtor 11.02.2015 05:50
quelle
5

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.

    
Adrian Carr 09.04.2015 14:44
quelle
4

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%     
Fanus du Toit 13.09.2017 13:53
quelle
1

Sie können EnableTrace oder ConnectionStatusHandler verwenden. Mehr Details hier .

    
Rob 25.01.2015 21:05
quelle

Tags und Links