Sdílet prostřednictvím


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

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

  1. 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;
    
  2. 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; }
    }
    
  3. 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";
    
  4. Vytvořte adresu URL požadavku tak, že k parametru q= dotazu připojíte hledaný termín a k parametru customconfig= 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í

  1. 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);
    
  2. 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();
    

Další kroky