public void HandleResponses(GetResponse[] responses, ShardStrategy shardStrategy) { var count = responses.Count(x => x.Status == 404); if (count != 0) { throw new InvalidOperationException("There is no index named: " + queryOperation.IndexName + " in " + count + " shards"); } var list = responses .Select(response => SerializationHelper.ToQueryResult((RavenJObject)response.Result, response.GetEtagHeader(), response.Headers[Constants.Headers.RequestTime], -1)) .ToList(); var queryResult = shardStrategy.MergeQueryResults(queryOperation.IndexQuery, list); queryOperation.EnsureIsAcceptable(queryResult); if (afterQueryExecuted != null) { afterQueryExecuted(queryResult); } Result = queryOperation.Complete <T>(); QueryResult = queryResult; }
private Dictionary <string, SuggestionResult> ProcessResults(QueryResult queryResult, DocumentConventions conventions) { InvokeAfterQueryExecuted(queryResult); var results = new Dictionary <string, SuggestionResult>(); foreach (BlittableJsonReaderObject result in queryResult.Results) { var suggestionResult = (SuggestionResult)EntityToBlittable.ConvertToEntity(typeof(SuggestionResult), "suggestion/result", result, conventions); results[suggestionResult.Name] = suggestionResult; } QueryOperation.EnsureIsAcceptable(queryResult, _query.WaitForNonStaleResults, _duration, _session); return(results); }
private Dictionary <string, FacetResult> ProcessResults(QueryResult queryResult) { InvokeAfterQueryExecuted(queryResult); var results = new Dictionary <string, FacetResult>(); foreach (BlittableJsonReaderObject result in queryResult.Results) { var facetResult = DocumentConventions.Default.Serialization.DefaultConverter.FromBlittable <FacetResult>(result, "facet/result"); results[facetResult.Name] = facetResult; } QueryOperation.EnsureIsAcceptable(queryResult, _query.WaitForNonStaleResults, _duration, _session); return(results); }