private async Task useAzureSearch(ITurnContext context) { // Configure the parementers for the search through the Azure Search Service SearchParameters parameters = new SearchParameters() { SearchMode = SearchMode.Any, Select = new[] { "content", "language", "metadata_storage_path", "keyphrases" } }; // Get the documents through Azure search using the AzureSearchService service class DocumentSearchResult <SearchDocument> searchResults = AzureSearchService.RunQuery(context.Activity.Text, indexClient, parameters); if (searchResults != null && searchResults.Results.Count > 0) { // Output information on the first (most relevant) document) await context.SendActivity(await translatorClient.Translate($"Ich habe {searchResults.Results.Count} Dokumente zu diesem Thema gefunden. Das ist der Anfang der Dokumentes.", "de", userNativeLanguage)); await context.SendActivity(searchResults.Results[0].Document.content.Substring(0, 400)); string url = AzureSearchService.DecodeUrl(searchResults.Results[0].Document.metadata_storage_path); await context.SendActivity(await translatorClient.Translate($"Hier kannst du das Dokument herunterladen: {url}", "de", userNativeLanguage)); // If there are more results, just display some links. if (searchResults.Results.Count > 1) { string moreDocs = String.Empty; moreDocs += await translatorClient.Translate("Weitere passende Dokumente:", "de", userNativeLanguage); moreDocs += "\n"; // Display up to five more links for (int i = 1; i < searchResults.Results.Count; i++) { moreDocs += AzureSearchService.DecodeUrl(searchResults.Results[i].Document.metadata_storage_path) + "\n"; if (i > 5) { break; } } await context.SendActivity(moreDocs); } } else { await context.SendActivity(await translatorClient.Translate("Ich habe zu diesem Suchbegriff leider kein Dokument gefunden. 😥", "de", userNativeLanguage)); } }