예제 #1
0
 public static SuggestionQuery MapToSuggestionQuery(this ExtendedSuggestionQueryModel extendedSuggestionQuery)
 {
     return(new SuggestionQuery(extendedSuggestionQuery.Search)
     {
         Filter = extendedSuggestionQuery.Filter,
         Fuzzy = extendedSuggestionQuery.Fuzzy,
         OrderBy = extendedSuggestionQuery.OrderBy,
         SearchFields = extendedSuggestionQuery.SearchFields,
         Select = extendedSuggestionQuery.Select,
         Top = extendedSuggestionQuery.Top
     });
 }
예제 #2
0
        public async Task <HttpResponseMessage> Get(string indexName, [FromUri] ExtendedSuggestionQueryModel suggestionQuery)
        {
            if (suggestionQuery == null || string.IsNullOrWhiteSpace(suggestionQuery.Search) || suggestionQuery.Search.Length < 3)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "The search value should have at least 3 characters."));
            }

            var result = await _searchClient.SuggestAsync(indexName, suggestionQuery.MapToSuggestionQuery());

            if (!result.IsSuccess)
            {
                return(Request.CreateResponse(result.StatusCode, result));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }