public static void WriteDocumentQueryResult(this BlittableJsonTextWriter writer, JsonOperationContext context, DocumentQueryResult result, bool metadataOnly, out int numberOfResults) { writer.WriteStartObject(); writer.WritePropertyName(nameof(result.TotalResults)); writer.WriteInteger(result.TotalResults); writer.WriteComma(); writer.WritePropertyName(nameof(result.SkippedResults)); writer.WriteInteger(result.SkippedResults); writer.WriteComma(); writer.WritePropertyName(nameof(result.DurationInMs)); writer.WriteInteger(result.DurationInMs); writer.WriteComma(); writer.WriteArray(nameof(result.IncludedPaths), result.IncludedPaths); writer.WriteComma(); writer.WriteQueryResult(context, result, metadataOnly, out numberOfResults, partial: true); writer.WriteEndObject(); }
public static void WriteMoreLikeThisQueryResult(this BlittableJsonTextWriter writer, JsonOperationContext context, MoreLikeThisQueryResultServerSide result, out int numberOfResults) { writer.WriteStartObject(); writer.WritePropertyName(nameof(result.DurationInMs)); writer.WriteInteger(result.DurationInMs); writer.WriteComma(); writer.WriteQueryResult(context, result, metadataOnly: false, numberOfResults: out numberOfResults, partial: true); writer.WriteEndObject(); }
public static void WriteIndexEntriesQueryResult(this BlittableJsonTextWriter writer, JsonOperationContext context, IndexEntriesQueryResult result) { writer.WriteStartObject(); writer.WritePropertyName(nameof(result.TotalResults)); writer.WriteInteger(result.TotalResults); writer.WriteComma(); writer.WritePropertyName(nameof(result.SkippedResults)); writer.WriteInteger(result.SkippedResults); writer.WriteComma(); writer.WritePropertyName(nameof(result.DurationInMs)); writer.WriteInteger(result.DurationInMs); writer.WriteComma(); writer.WriteQueryResult(context, result, metadataOnly: false, numberOfResults: out int _, partial: true); writer.WriteEndObject(); }
private void MoreLikeThis(DocumentsOperationContext context, string indexName, OperationCancelToken token) { var existingResultEtag = GetLongFromHeaders("If-None-Match"); var query = MoreLikeThisQueryServerSide.Create(HttpContext, GetPageSize(Database.Configuration.Core.MaxPageSize), context); var runner = new QueryRunner(Database, context); var result = runner.ExecuteMoreLikeThisQuery(indexName, query, context, existingResultEtag, token); if (result.NotModified) { HttpContext.Response.StatusCode = 304; return; } HttpContext.Response.Headers[Constants.MetadataEtagField] = result.ResultEtag.ToInvariantString(); using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream())) { writer.WriteQueryResult(context, result, metadataOnly: false); } }