public Task <ElasticResponse> SearchAsync(SearchRequest searchRequest, CancellationToken cancellationToken) { var formatter = new SearchRequestFormatter(connection, mapping, searchRequest); return(retryPolicy.ExecuteAsync( async token => await connection.SearchAsync( formatter.Body, searchRequest, token, log), (response, exception) => !cancellationToken.IsCancellationRequested && exception != null, (response, additionalInfo) => { additionalInfo["index"] = connection.Index; additionalInfo["uri"] = connection.GetSearchUri(searchRequest); additionalInfo["query"] = formatter.Body; }, cancellationToken)); }