Beispiel #1
0
        public async Task <IActionResult> Banks(string keyword)
        {
            var         requestCultureFeature = Request.HttpContext.Features.Get <IRequestCultureFeature>();
            CultureInfo culture = requestCultureFeature.RequestCulture.Culture;

            BankSearchResponse productSearchResponse = await _bankService.SearchAsync(keyword, culture.TwoLetterISOLanguageName);

            return(View(productSearchResponse));
        }
Beispiel #2
0
        public async Task <BankSearchResponse> SearchAsync(string keyword, string langCode)
        {
            BankSearchResponse bankSearchResponse = new BankSearchResponse();
            string             indexName          = $"products_{langCode}";

            ISearchResponse <Bank> searchResponse = await elasticClient.SearchAsync <Bank>(x => x
                                                                                           .Index(indexName)
                                                                                           .Query(q =>
                                                                                                  q.MultiMatch(mp => mp
                                                                                                               .Query(keyword)
                                                                                                               .Fields(f => f.Fields(f1 => f1.Name, f2 => f2.Description)))
                                                                                                  ));

            if (searchResponse.IsValid && searchResponse.Documents != null)
            {
                bankSearchResponse.Total = (int)searchResponse.Total;
                bankSearchResponse.Banks = searchResponse.Documents;
            }

            return(bankSearchResponse);
        }