Ich bin mir nicht sicher, ob dies ein JSON.Net-Problem oder ein SolrNet-Problem ist, weshalb ich es mit beiden Tags versehen habe.Wie erhalten Sie alle SolrNet-Abfrageergebnis-Informationen im JSON-Format?
Ich benutze SolrNet und derzeit alle Seiteninteraktivität mit JavaScript von einem MVC-Aufruf, indem Sie eine JsonNetResult-Codierung des Objekts von Solr.Query() zurückgegeben. Ich experimentiere jetzt mit Facetting, sehe aber nicht die Facet-Informationen in meinen Ergebnissen.
Ich habe eine MVC-Controller-Methode wie die folgende. (JsonNetResult ist ähnlich dem Lager JsonResult, sondern kodiert JSON mit JSON.Net, described here.)
public JsonNetResult Index(string keywords)
{
JsonNetResult jsonNetResult = new JsonNetResult();
var documents = solr.Query(new SolrQuery(keywords), new QueryOptions
{
Rows = 10,
Facet = new FacetParameters
{
Queries = new[] {new SolrFacetFieldQuery("system")}
}
});
jsonNetResult.Formatting = Formatting.Indented;
jsonNetResult.Data = documents;
return jsonNetResult;
}
Ich erwartete die Facettierung Informationen zu sehen codiert in JSON im JsonNetResult, aber alles, es enthält die Anordnung von Hashes der Dokumente, die zu meiner Anfrage passen. Fehle ich etwas in der Funktionsweise von SolrNet-Antwortobjekten oder muss ich das Objekt selbst analysieren und etwas erstellen, das JSON.Net verwenden kann, um alle Informationen zu meiner Anfrage zu codieren?
FYI, ich habe versucht, ein Standard-JsonResult in MVC, und die Ergebnisse sind die gleichen. Der Grund, warum ich SolrNet verwende und nicht nur Solr direkt anrufe und nach JSON frage, liegt auch daran, dass wir die Web-Schnittstelle der Solr-Suchmaschine nicht direkt dem Benutzer zugänglich machen wollen.
Danke, nach mehr Zeit für diese Ausgaben, ich glaube, du hast recht! –