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)); }
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); }