public ApprenticeshipSearchResults SearchApprenticeships(string keywords, int pageNumber, int pageSize = 20, int sortOrder = 0, IEnumerable <int> selectedLevels = null) { var formattedKeywords = _queryHelper.FormatKeywords(keywords); var searchDescriptor = GetSearchDescriptor(pageNumber, pageSize, formattedKeywords, sortOrder, selectedLevels ?? Enumerable.Empty <int>()); var results = _elasticsearchCustomClient.Search <ApprenticeshipSearchResultsDocument>(s => searchDescriptor); var levelAggregation = BuildLevelAggregationResult(results); return(MapToApprenticeshipSearchResults(pageNumber, pageSize, results, levelAggregation)); }
public List <ApprenticeshipSearchResultsItem> SearchApprenticeships(string keywords, int page) { var takeElements = 20; var formattedKeywords = _queryHelper.FormatKeywords(keywords); var searchDescriptor = GetSearchDescriptor(page, takeElements, formattedKeywords); var results = _elasticsearchCustomClient.Search <ApprenticeshipSearchResultsDocument>(s => searchDescriptor); return(results.Documents.Select(_resultDocumentMapping.MapToApprenticeshipSearchResultsItem).ToList()); }
public List <ProviderSearchResultsItem> SearchProviders(string keywords, int page) { if (keywords.Length < 3) { return(new List <ProviderSearchResultsItem>()); } const int takeElements = 20; var formattedKeywords = _queryHelper.FormatKeywords(keywords); var searchDescriptor = GetSearchDescriptor(page, takeElements, formattedKeywords); var results = _elasticsearchCustomClient.Search <ProviderSearchResultsItem>(s => searchDescriptor); return(results.Documents.ToList()); }