Freigeben über


Schnellstart: Aufrufen Ihres Endpunkts für die benutzerdefinierte Bing-Suche mit C#

Warnung

Am 30. Oktober 2020 wurden die Bing-Suche-APIs aus den Azure KI Services in die Bing-Suchdienste verschoben. Diese Dokumentation wird nur zu Referenzzwecken bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um zu lernen, wie Sie Suchergebnisse von Ihrer Instanz der benutzerdefinierten Bing-Suche anfordern. Diese Anwendung ist zwar in C# geschrieben, aber die API für die benutzerdefinierte Bing-Suche ist ein RESTful-Webdienst, der mit den meisten Programmiersprachen kompatibel ist. Den Quellcode des Beispiels finden Sie auf GitHub.

Voraussetzungen

  • Eine Instanz der benutzerdefinierten Bing-Suche. Weitere Informationen finden Sie unter Quickstart: Erstellen Ihrer ersten Instanz der benutzerdefinierten Bing-Suche.

  • Microsoft .NET Core

  • Eine beliebige Edition von Visual Studio 2019 oder höher

  • Unter Linux/macOS kann diese Anwendung mit Mono ausgeführt werden.

  • Das NuGet-Paket für die benutzerdefinierte Bing-Suche.

    So installieren Sie das Paket in Visual Studio:

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie NuGet-Pakete verwalten aus.
    2. Suchen Sie nach Microsoft.Azure.CognitiveServices.Search.CustomSearch, wählen Sie das Paket aus, und installieren Sie es.

    Wenn Sie das NuGet-Paket für die benutzerdefinierte Bing-Suche installieren, werden von Visual Studio außerdem die folgenden Pakete installiert:

    • Microsoft.Rest.ClientRuntime
    • Microsoft.Rest.ClientRuntime.Azure
    • Newtonsoft.Json

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der API für die benutzerdefinierte Bing-Suche, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für die benutzerdefinierte Bing-Suche

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren der Anwendung

  1. Erstellen Sie eine neue C#-Konsolenanwendung in Visual Studio. Fügen Sie Ihrem Projekt dann die folgenden Pakete hinzu:

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Erstellen Sie die folgenden Klassen, um die Suchergebnisse zu speichern, die von der API für die benutzerdefinierte Bing-Suche zurückgegeben werden:

    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. Erstellen Sie in der main-Methode Ihres Projekts die folgenden Variablen für Ihren Abonnementschlüssel der API für die benutzerdefinierte Bing-Suche, die benutzerdefinierte Konfigurations-ID Ihrer Suchinstanz und einen Suchbegriff:

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Erstellen Sie die Anforderungs-URL, indem Sie Ihren Suchbegriff an den Abfrageparameter q= und Ihre benutzerdefinierte Konfigurations-ID der Suchinstanz an den Parameter customconfig= anfügen. Trennen Sie die Parameter durch ein kaufmännisches Und-Zeichen (&) voneinander. Für den Wert der Variable url können Sie den globalen Endpunkt im folgenden Code oder den Endpunkt der benutzerdefinierten Unterdomäne verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.

    var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" +
                "q=" + searchTerm + "&" +
                "customconfig=" + customConfigId;
    

Senden und Empfangen einer Suchanforderung

  1. Erstellen Sie einen Anforderungsclient, und fügen Sie Ihren Abonnementschlüssel dem Header Ocp-Apim-Subscription-Key hinzu.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Führen Sie die Suchanforderung aus, und rufen Sie die Antwort als JSON-Objekt ab.

    var httpResponseMessage = client.GetAsync(url).Result;
    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
    BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
    

Lassen Sie die Ergebnisse verarbeiten und anzeigen.

  • Durchlaufen Sie das Antwortobjekt, um Informationen zu den einzelnen Suchergebnissen anzuzeigen, z.B. Name, URL und das Datum des letzten Crawl-Vorgangs der Webseite.

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

Nächste Schritte