2013-12-23 10 views
7

Ich mache eine kleine Recherche über einen Client für elastische Suche in. NET und ich fand, dass NEST eine der am meisten unterstützten Lösungen für diese Angelegenheit ist.Returning JSON in ElasticSearch NEST Abfrage

Ich habe mir die Dokumentation von Nest angeschaut und ich konnte keine Möglichkeit finden, einen rohen JSON aus einer Abfrage auszugeben und die Serialisierung in ein Objekt zu vermeiden, weil ich angularJs im Frontend verwende, was ich nicht möchte Überladen Sie den Prozess des Sendens der Informationen an den Client mit einigen unnötigen Schritten.

...... und auch ich würde gerne wissen, wie kann ich die Serialisierung überstürzen?

Ich habe festgestellt, dass NEST Json.NET verwendet, die ich für den Servicestack Json-serielizer ändern möchte.

danke!

Antwort

9

Hallo Pedro Sie können dies mit NEST tun

var searchDescriptor = new SearchDescriptor<ElasticSearchProject>() 
    .Query(q=>q.MatchAll()); 
var request = this._client.Serializer.Serialize(searchDescriptor); 
ConnectionStatus result = this._client.Raw.SearchPost(request); 
Assert.NotNull(result); 
Assert.True(result.Success); 
Assert.IsNotEmpty(result.Result); 

Dies Sie Ihre Anfragen stark eingeben können, aber geben die Zeichenfolge .Result, die die rohe Reaktion von Elasticsearch als String zu Ihrem

request können Sei ein Objekt oder die Zeichenfolge also, wenn Sie OK sind mit dem internen JSON Serialize übergeben Sie einfach SearchDescriptor direkt

+1

Dank gibt es eine Möglichkeit, die json.net Serializer Impl mit einem benutzerdefinierten ersetzen? (sagen wir Servicestack) –

+0

@Martijn Gibt es eine Möglichkeit, die gesendete Abfrage zu visualisieren, bevor sie gesendet wird? – Dema

+0

result.Result scheint in der aktuellen API nicht zu existieren. Wie wird das jetzt erreicht? Ich möchte die Response des elasticsearch Servers direkt an meinen Kunden weitergeben, da der Client eine JavaScript-Bibliothek verwendet, um mit Standard-ES-Antworten für Facetting usw. zu arbeiten. Danke. – richardwhatever

Verwandte Themen