Rychlý start: Volání koncového bodu vlastního vyhledávání Bingu pomocí jazyka C#
Upozornění
30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.
V tomto rychlém startu se dozvíte, jak si vyžádat výsledky hledání z instance vlastního vyhledávání Bingu. I když je tato aplikace napsaná v jazyce C#, rozhraní API pro vlastní vyhledávání Bingu je webová služba RESTful kompatibilní s většinou programovacích jazyků. Zdrojový kód pro tuto ukázku je k dispozici na GitHubu.
Požadavky
Instance vlastního vyhledávání Bingu. Další informace najdete v tématu Rychlý start: Vytvoření první instance vlastního vyhledávání Bingu.
Libovolná edice sady Visual Studio 2019 nebo novější.
Pokud používáte Linux nebo MacOS, můžete tuto aplikaci spustit pomocí mono.
Balíček NuGet pro vlastní vyhledávání Bingu .
Instalace tohoto balíčku v sadě Visual Studio:
- Klikněte pravým tlačítkem na projekt v Průzkumník řešení a pak vyberte Spravovat balíčky NuGet.
- Vyhledejte a vyberte Microsoft.Azure.CognitiveServices.Search.CustomSearch a nainstalujte balíček.
Při instalaci balíčku NuGet pro vlastní vyhledávání Bingu sada Visual Studio nainstaluje také následující balíčky:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Vytvoření prostředku Azure
Začněte používat rozhraní API pro vlastní vyhledávání Bingu vytvořením jednoho z následujících prostředků Azure.
Prostředek vlastního vyhledávání Bingu
- K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- K vyzkoušení služby použijte bezplatnou cenovou úroveň a později ji upgradujte na placenou úroveň pro produkční prostředí.
Prostředek s více službami
- K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro své aplikace použijte stejný klíč a koncový bod napříč několika službami Azure AI.
Vytvoření a inicializace aplikace
Vytvořte novou konzolovou aplikaci v jazyce C# v sadě Visual Studio. Pak do projektu přidejte následující balíčky:
using System; using System.Net.Http; using System.Web; using Newtonsoft.Json;
Vytvořte následující třídy pro uložení výsledků hledání vrácených rozhraním API pro vlastní vyhledávání Bingu:
public class BingCustomSearchResponse { public string _type{ get; set; } public WebPages webPages { get; set; } } public class WebPages { public string webSearchUrl { get; set; } public int totalEstimatedMatches { get; set; } public WebPage[] value { get; set; } } public class WebPage { public string name { get; set; } public string url { get; set; } public string displayUrl { get; set; } public string snippet { get; set; } public DateTime dateLastCrawled { get; set; } public string cachedPageUrl { get; set; } }
V hlavní metodě vašeho projektu vytvořte následující proměnné pro klíč předplatného rozhraní API pro vlastní vyhledávání Bingu, ID vlastní konfigurace instance vyhledávání a hledaný termín:
var subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; var customConfigId = "YOUR-CUSTOM-CONFIG-ID"; var searchTerm = args.Length > 0 ? args[0]:"microsoft";
Vytvořte adresu URL požadavku tak, že k parametru
q=
dotazu připojíte hledaný termín a k parametrucustomconfig=
přidáte ID vlastní konfigurace instance vyhledávání. Parametry oddělte ampersandem (&
).url
Jako hodnotu proměnné můžete použít globální koncový bod v následujícím kódu nebo vlastní koncový bod subdomény zobrazený v Azure Portal pro váš prostředek.var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" + "q=" + searchTerm + "&" + "customconfig=" + customConfigId;
Odeslání a přijetí žádosti o hledání
Vytvořte klienta požadavku a přidejte do hlavičky klíč předplatného
Ocp-Apim-Subscription-Key
.var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
Proveďte požadavek vyhledávání a získejte odpověď jako objekt JSON.
var httpResponseMessage = client.GetAsync(url).Result; var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result; BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
Zpracování a zobrazení výsledků
Iterujte objekt odpovědi, aby se zobrazily informace o každém výsledku hledání, včetně jeho názvu, adresy URL a data posledního procházení webové stránky.
for(int i = 0; i < response.webPages.value.Length; i++) { var webPage = response.webPages.value[i]; Console.WriteLine("name: " + webPage.name); Console.WriteLine("url: " + webPage.url); Console.WriteLine("displayUrl: " + webPage.displayUrl); Console.WriteLine("snippet: " + webPage.snippet); Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled); Console.WriteLine(); } Console.WriteLine("Press any key to exit..."); Console.ReadKey();