예제 #1
0
 private static void CopySearchRequestParameters(IMoreLikeThisRequest request)
 {
     if (request.Search == null)
     {
         return;
     }
     request.RequestParameters.CopyQueryStringValuesFrom(request.Search.QueryString);
 }
예제 #2
0
 /// <inheritdoc />
 public Task <ISearchResponse <T> > MoreLikeThisAsync <T>(IMoreLikeThisRequest moreLikeThisRequest)
     where T : class
 {
     return(this.DispatchAsync <IMoreLikeThisRequest, MoreLikeThisRequestParameters, SearchResponse <T>, ISearchResponse <T> >(
                moreLikeThisRequest,
                (p, d) =>
     {
         CopySearchRequestParameters(d);
         return this.RawDispatch.MltDispatchAsync <SearchResponse <T> >(p, d.Search);
     }
                ));
 }
예제 #3
0
 /// <inheritdoc />
 public Task <ISearchResponse <T> > MoreLikeThisAsync <T>(Func <MoreLikeThisDescriptor <T>, MoreLikeThisDescriptor <T> > mltSelector)
     where T : class
 {
     return(this.DispatchAsync <MoreLikeThisDescriptor <T>, MoreLikeThisRequestParameters, SearchResponse <T>, ISearchResponse <T> >(
                mltSelector,
                (p, d) =>
     {
         IMoreLikeThisRequest r = d;
         CopySearchRequestParameters(d);
         return this.RawDispatch.MltDispatchAsync <SearchResponse <T> >(p, r.Search);
     }
                ));
 }
예제 #4
0
 public static void Update(ElasticsearchPathInfo <MoreLikeThisRequestParameters> pathInfo, IMoreLikeThisRequest request)
 {
     pathInfo.HttpMethod = request.Search == null ? PathInfoHttpMethod.GET : PathInfoHttpMethod.POST;
 }