diff --git a/src/Nest/Search/MultiSearch/MultiSearchResponse.cs b/src/Nest/Search/MultiSearch/MultiSearchResponse.cs index b22551696b3..63dd3deec0c 100644 --- a/src/Nest/Search/MultiSearch/MultiSearchResponse.cs +++ b/src/Nest/Search/MultiSearch/MultiSearchResponse.cs @@ -13,6 +13,8 @@ public class MultiSearchResponse : ResponseBase { public MultiSearchResponse() => Responses = new Dictionary(); + public long Took { get; set; } + public IEnumerable AllResponses => _allResponses(); public override bool IsValid => base.IsValid && AllResponses.All(b => b.IsValid); diff --git a/src/Nest/Search/MultiSearch/MultiSearchResponseFormatter.cs b/src/Nest/Search/MultiSearch/MultiSearchResponseFormatter.cs index 6f75c03cad8..941839a12ab 100644 --- a/src/Nest/Search/MultiSearch/MultiSearchResponseFormatter.cs +++ b/src/Nest/Search/MultiSearch/MultiSearchResponseFormatter.cs @@ -36,6 +36,11 @@ public MultiSearchResponse Deserialize(ref JsonReader reader, IJsonFormatterReso responses.Add(reader.ReadNextBlockSegment()); break; } + else if (propertyName == "took") + { + response.Took = reader.ReadInt64(); + continue; + } reader.ReadNextBlock(); } diff --git a/src/Tests/Tests/Search/MultiSearch/MultiSearchApiTests.cs b/src/Tests/Tests/Search/MultiSearch/MultiSearchApiTests.cs index 37cce58dec2..1ccd6f1beb5 100644 --- a/src/Tests/Tests/Search/MultiSearch/MultiSearchApiTests.cs +++ b/src/Tests/Tests/Search/MultiSearch/MultiSearchApiTests.cs @@ -122,6 +122,8 @@ protected override LazyResponses ClientUsage() => Calls( [I] public Task AssertResponse() => AssertOnAllResponses(r => { + r.Took.Should().BeGreaterThan(0); + r.TotalResponses.Should().Be(6); var nvalidResponses = r.GetInvalidResponses();