/// <summary> /// _msearch needs a specialized json format in the body /// </summary> public string SerializeMultiSearch(IMultiSearchRequest multiSearchRequest) { var sb = new StringBuilder(); var inferrer = new ElasticInferrer(this._settings); foreach (var operation in multiSearchRequest.Operations.Values) { var path = operation.ToPathInfo(this._settings); var op = new { index = path.Index, type = path.Type, search_type = this.GetSearchType(operation, multiSearchRequest), preference = operation.Preference, routing = operation.Routing }; var opJson = this.Serialize(op, SerializationFormatting.None).Utf8String(); var action = "{0}\n".F(opJson); sb.Append(action); var searchJson = this.Serialize(operation, SerializationFormatting.None).Utf8String(); sb.Append(searchJson + "\n"); } var json = sb.ToString(); return(json); }
private void CreateMultiSearchConverter(IMultiSearchRequest request) { var formatter = new MultiSearchResponseFormatter(request); var serializer = ConnectionSettings.CreateStateful(formatter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride = creator; }
protected string GetSearchType(ISearchRequest descriptor, IMultiSearchRequest multiSearchRequest) { if (descriptor.SearchType != null) { return(descriptor.SearchType.Value.GetStringValue()); } return(multiSearchRequest.RequestParameters.GetQueryStringValue <string>("search_type")); }
private JsonConverter CreateMultiSearchDeserializer(IMultiSearchRequest request) { if (request.Operations != null) { foreach (var operation in request.Operations.Values) CovariantSearch.CloseOverAutomagicCovariantResultSelector(this.Infer, operation); } return new MultiSearchResponseJsonConverter(this.ConnectionSettings, request); }
/// <inheritdoc /> public IMultiSearchResponse MultiSearch(IMultiSearchRequest request) => Dispatcher.Dispatch <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>( request, (p, d) => { var converter = CreateMultiSearchDeserializer(p); var serializer = ConnectionSettings.CreateStateful(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride = creator; return(LowLevelDispatch.MsearchDispatch <MultiSearchResponse>(p, new SerializableData <IMultiSearchRequest>(p))); } );
private JsonConverter CreateMultiSearchDeserializer(IMultiSearchRequest request) { if (request.Operations != null) { foreach (var operation in request.Operations.Values) { CovariantSearch.CloseOverAutomagicCovariantResultSelector(this.Infer, operation); } } return(new MultiSearchResponseJsonConverter(this.ConnectionSettings, request)); }
private JsonConverter CreateMultiSearchConverter(IMultiSearchRequest descriptor) { if (descriptor.Operations != null) { foreach (var kv in descriptor.Operations) SearchPathInfo.CloseOverAutomagicCovariantResultSelector(this.Infer, kv.Value); } var multiSearchConverter = new MultiSearchConverter(_connectionSettings, descriptor); return multiSearchConverter; }
/// <inheritdoc /> public Task<IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest multiSearchRequest) { return this.DispatchAsync<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( multiSearchRequest, (p, d) => { var converter = CreateMultiSearchConverter(d); var json = Serializer.SerializeMultiSearch(d); var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter)); return this.RawDispatch.MsearchDispatchAsync<MultiSearchResponse>(p.DeserializationState(creator), json); } ); }
/// <inheritdoc /> public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest multiSearchRequest) { return(this.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( multiSearchRequest, (p, d) => { var converter = CreateMultiSearchConverter(d); var json = Serializer.SerializeMultiSearch(d); var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter)); return this.RawDispatch.MsearchDispatchAsync <MultiSearchResponse>(p.DeserializationState(creator), json); } )); }
/// <inheritdoc /> public IMultiSearchResponse MultiSearch(IMultiSearchRequest multiSearchRequest) { return this.Dispatch<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>( multiSearchRequest, (p, d) => { var converter = CreateMultiSearchConverter(d); var json = Serializer.SerializeMultiSearch(d); var creator = new Func<IElasticsearchResponse, Stream, MultiSearchResponse>((r, s) => this.DeserializeMultiSearchHit(r, s, converter)); return this.RawDispatch.MsearchDispatch<MultiSearchResponse>(p.DeserializationState(creator), json); } ); }
/// <inheritdoc /> public IMultiSearchResponse MultiSearch(IMultiSearchRequest request) { return(this.Dispatcher.Dispatch <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>( request, (p, d) => { var converter = CreateMultiSearchDeserializer(p); var serializer = this.ConnectionSettings.StatefulSerializer(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatch <MultiSearchResponse>(p, (object)p); } )); }
/// <inheritdoc /> public IMultiSearchResponse MultiSearch(IMultiSearchRequest request) { return this.Dispatcher.Dispatch<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>( request, (p, d) => { var converter = CreateMultiSearchDeserializer(p); var serializer = this.ConnectionSettings.StatefulSerializer(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatch<MultiSearchResponse>(p, (object)p); } ); }
/// <inheritdoc /> public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken cancellationToken = default(CancellationToken) ) => Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( request, cancellationToken, (p, d, c) => { var converter = CreateMultiSearchDeserializer(p); var serializer = ConnectionSettings.CreateStateful(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride = creator; return(LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, new SerializableData <IMultiSearchRequest>(p), c)); } );
/// <inheritdoc /> public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request) { return(this.Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( request, (p, d) => { var converter = CreateMultiSearchDeserializer(p); var serializer = new NestSerializer(this.ConnectionSettings, converter); var json = serializer.SerializeToBytes(p).Utf8String(); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, json); } )); }
private JsonConverter CreateMultiSearchConverter(IMultiSearchRequest descriptor) { if (descriptor.Operations != null) { foreach (var kv in descriptor.Operations) { SearchPathInfo.CloseOverAutomagicCovariantResultSelector(this.Infer, kv.Value); } } var multiSearchConverter = new MultiSearchConverter(_connectionSettings, descriptor); return(multiSearchConverter); }
/// <inheritdoc /> public Task<IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request) { return this.Dispatcher.DispatchAsync<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( request, (p, d) => { var converter = CreateMultiSearchDeserializer(p); var serializer = new NestSerializer(this.ConnectionSettings, converter); var json = serializer.SerializeToBytes(p).Utf8String(); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatchAsync<MultiSearchResponse>(p, json); } ); }
/// <inheritdoc /> public Task<IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken cancellationToken = default(CancellationToken)) { return this.Dispatcher.DispatchAsync<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( request, cancellationToken, (p, d, c) => { var converter = CreateMultiSearchDeserializer(p); var serializer = this.ConnectionSettings.StatefulSerializer(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatchAsync<MultiSearchResponse>(p, (object)p, c); } ); }
/// <inheritdoc /> public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken cancellationToken = default(CancellationToken)) { return(this.Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>( request, cancellationToken, (p, d, c) => { var converter = CreateMultiSearchDeserializer(p); var serializer = this.ConnectionSettings.StatefulSerializer(converter); var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s)); request.RequestParameters.DeserializationOverride(creator); return this.LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, (object)p, c); } )); }
public static void Update(ElasticsearchPathInfo <MultiSearchRequestParameters> pathInfo, IMultiSearchRequest request) { pathInfo.HttpMethod = PathInfoHttpMethod.POST; }
public MultiSearchResponseJsonConverter(IConnectionSettingsValues settings, IMultiSearchRequest request) { this._settings = settings; _request = request; }
private JsonConverter CreateMultiSearchDeserializer(IMultiSearchRequest request) { return(new MultiSearchResponseJsonConverter(this.ConnectionSettings, request)); }
private JsonConverter CreateMultiSearchDeserializer(IMultiSearchRequest request) => new MultiSearchResponseJsonConverter(ConnectionSettings, request);
/// <inheritdoc /> public MultiSearchResponse MultiSearch(IMultiSearchRequest request) { CreateMultiSearchConverter(request); return(DoRequest <IMultiSearchRequest, MultiSearchResponse>(request, request.RequestParameters)); }
/// <inheritdoc /> public Task <MultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken ct = default) { CreateMultiSearchConverter(request); return(DoRequestAsync <IMultiSearchRequest, MultiSearchResponse>(request, request.RequestParameters, ct)); }
public Task <MultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken ct = new CancellationToken()) { throw new NotImplementedException(); }
public MultiSearchResponse MultiSearch(IMultiSearchRequest request) { throw new NotImplementedException(); }