Rychlý start: Použití klientské knihovny Bingu pro vyhledávání zpráv

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.

Pomocí tohoto rychlého startu můžete začít vyhledávat zprávy pomocí klientské knihovny Bingu pro vyhledávání zpráv pro jazyk C#. Vyhledávání zpráv Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, ale klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.

Požadavky

Pokud chcete nastavit konzolovou aplikaci pomocí klientské knihovny Vyhledávání zpráv BinguManage NuGet Packages, přejděte v sadě Visual Studio na možnost z Průzkumník řešení. Přidejte balíček Microsoft.Azure.CognitiveServices.Search.NewsSearch.

Vytvoření prostředku Azure

Začněte používat rozhraní API Bingu pro vyhledávání zpráv tím, že vytvoříte jeden z následujících prostředků Azure:

prostředek Vyhledávání Bingu v7

  • 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 projektu

  1. Vytvořte nové řešení konzoly jazyka C# v sadě Visual Studio. Pak do hlavního souboru kódu přidejte následující kód.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Vytvořte proměnnou pro klíč rozhraní API, hledaný termín a pak s ním vytvořte instanci klienta vyhledávání zpráv.

    var key = "YOUR-ACCESS-KEY";
    var searchTerm = "Quantum Computing";
    var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
    

Odeslání požadavku a analýza výsledku

  1. Pomocí klienta odešlete žádost o hledání do Search Zprávy Bingu:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Pokud se vrátily nějaké výsledky, parsujte je:

    if (newsResults.Value.Count > 0)
    {
        var firstNewsResult = newsResults.Value[0];
    
        Console.WriteLine($"TotalEstimatedMatches value: {newsResults.TotalEstimatedMatches}");
        Console.WriteLine($"News result count: {newsResults.Value.Count}");
        Console.WriteLine($"First news name: {firstNewsResult.Name}");
        Console.WriteLine($"First news url: {firstNewsResult.Url}");
        Console.WriteLine($"First news description: {firstNewsResult.Description}");
        Console.WriteLine($"First news published time: {firstNewsResult.DatePublished}");
        Console.WriteLine($"First news provider: {firstNewsResult.Provider[0].Name}");
    }
    
    else
    {
        Console.WriteLine("Couldn't find news results!");
    }
    Console.WriteLine("Enter any key to exit...");
    Console.ReadKey();
    

Další kroky

Pomocí tohoto rychlého startu můžete začít vyhledávat novinky pomocí klientské knihovny Bingu pro vyhledávání zpráv pro Javu. Vyhledávání zpráv Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, ale klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.

Požadavky

Nainstalujte závislosti klientské knihovny Bingu pro vyhledávání zpráv pomocí Mavenu, Gradle nebo jiného systému pro správu závislostí. Soubor POM Mavenu vyžaduje následující deklaraci:

    <dependencies>
    <dependency>
        <groupId>com.microsoft.azure.cognitiveservices</groupId>
        <artifactId>azure-cognitiveservices-newssearch</artifactId>
        <version>0.0.1-beta-SNAPSHOT</version>
    </dependency>
    </dependencies>

Vytvoření prostředku Azure

Začněte používat rozhraní API Bingu pro vyhledávání zpráv tím, že vytvoříte jeden z následujících prostředků Azure:

prostředek Vyhledávání Bingu v7

  • 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 projektu

V oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový projekt Java a naimportujte následující knihovny.

import com.microsoft.azure.cognitiveservices.newssearch.*;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsInner;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsSearchAPIImpl;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.TrendingTopicsInner;
import com.microsoft.rest.credentials.ServiceClientCredentials;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

Vytvoření klienta vyhledávací služby a uložení přihlašovacích údajů

  1. Vytvořte metodu s názvem getClient() , která vrátí nového NewsSearchAPIImpl klienta vyhledávání. Přidejte koncový bod jako první parametr pro novýNewsSearchAPIImpl objekt a nový ServiceClientCredentials objekt pro uložení přihlašovacích údajů.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Chcete-li vytvořit ServiceClientCredentials objekt, přepište applyCredentialsFilter() funkci . OkHttpClient.Builder Předejte do metody a použijte metodu tvůrce addNetworkInterceptor() k vytvoření přihlašovacích údajů pro volání klientské knihovny.

    new ServiceClientCredentials() {
        @Override
        public void applyCredentialsFilter(OkHttpClient.Builder builder) {
            builder.addNetworkInterceptor(
                    new Interceptor() {
                        @Override
                        public Response intercept(Chain chain) throws IOException {
                            Request request = null;
                            Request original = chain.request();
                            // Request customization: add request headers.
                            Request.Builder requestBuilder = original.newBuilder()
                                    .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
                            request = requestBuilder.build();
                            return chain.proceed(request);
                        }
                    });
        }
    });
    

Odeslání a přijetí žádosti o hledání

  1. Vytvořte metodu, která zavolá getClient() a odešle žádost o hledání do Search Zprávy Bing. Vyfiltrujte vyhledávání pomocí parametrů market a count a pak vytiskněte informace o prvním výsledku zprávy: název, adresa URL, datum publikování, popis, název poskytovatele a celkový počet odhadovaných shod hledání.

    public static void newsSearch(String subscriptionKey)
    {
        NewsSearchAPIImpl client = getClient(subscriptionKey);
        String searchTerm = "Quantum Computing";
    
        NewsInner newsResults = client.searchs().list(searchTerm, null, null, null,
                null, null, 100, null, "en-us",
                null, null, null, null, null,
                null, null);
    
        if (newsResults.value().size() > 0)
        {
            NewsArticle firstNewsResult = newsResults.value().get(0);
    
            System.out.println(String.format("TotalEstimatedMatches value: %d", newsResults.totalEstimatedMatches()));
            System.out.println(String.format("News result count: %d", newsResults.value().size()));
            System.out.println(String.format("First news name: %s", firstNewsResult.name()));
            System.out.println(String.format("First news url: %s", firstNewsResult.url()));
            System.out.println(String.format("First news description: %s", firstNewsResult.description()));
            System.out.println(String.format("First news published time: %s", firstNewsResult.datePublished()));
            System.out.println(String.format("First news provider: %s", firstNewsResult.provider().get(0).name()));
        }
        else
        {
            System.out.println("Couldn't find news results!");
        }
    
    }
    
    
  2. Přidejte metodu main() hledání do metody pro spuštění kódu.

    public static void main(String[] args) {
        String subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
        NewsSearchSDK.newsSearch(subscriptionKey);
    }
    

Další kroky

Pomocí tohoto rychlého startu můžete začít vyhledávat zprávy pomocí klientské knihovny Bingu pro vyhledávání zpráv pro JavaScript. Vyhledávání zpráv Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, ale klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.

Požadavky

  • Nejnovější verze Node.js
  • Sada SDK Bingu pro vyhledávání zpráv pro JavaScript
    • Instalaci provedete spuštěním příkazu . npm install @azure/cognitiveservices-newssearch
  • Třída CognitiveServicesCredentials z @azure/ms-rest-azure-js balíčku k ověření klienta.
    • Instalaci provedete spuštěním příkazu . npm install @azure/ms-rest-azure-js

Vytvoření prostředku Azure

Začněte používat rozhraní API Bingu pro vyhledávání zpráv tím, že vytvoříte jeden z následujících prostředků Azure:

prostředek Vyhledávání Bingu v7

  • 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 instanci CognitiveServicesCredentials. Vytvořte proměnné pro klíč předplatného a hledaný termín.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. vytvořte instanci klienta:

    const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch');
    let client = new NewsSearchAPIClient(credentials);
    

Odeslání vyhledávacího dotazu

  1. Pomocí klienta vyhledejte termín dotazu, v tomto případě "Zimní olympijské hry":

    client.newsOperations.search(search_term).then((result) => {
        console.log(result.value);
    }).catch((err) => {
        throw err;
    });
    

Kód vytiskne položky result.value do konzoly bez analýzy textu. Případné výsledky podle kategorií budou zahrnovat tyto položky:

  • _type: 'NewsArticle'
  • _type: 'WebPage'
  • _type: 'VideoObject'
  • _type: 'ImageObject'

Další kroky

Pomocí tohoto rychlého startu můžete začít vyhledávat zprávy pomocí klientské knihovny Bingu pro vyhledávání zpráv pro Python. Vyhledávání zpráv Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, ale klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.

Požadavky

Pro vývoj v Pythonu se doporučuje používat virtuální prostředí . Virtuální prostředí můžete nainstalovat a inicializovat pomocí modulu venv. Musíte nainstalovat virtualenv pro Python 2.7. Virtuální prostředí můžete vytvořit pomocí:

python -m venv mytestenv

Závislosti klientské knihovny Bingu pro vyhledávání zpráv můžete nainstalovat pomocí tohoto příkazu:

python -m pip install azure-cognitiveservices-search-newssearch

Vytvoření prostředku Azure

Začněte používat rozhraní API Bingu pro vyhledávání zpráv tím, že vytvoříte jeden z následujících prostředků Azure:

prostředek Vyhledávání Bingu v7

  • 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. Ve svém oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový soubor Pythonu a naimportujte následující knihovny. Vytvořte proměnnou pro klíč předplatného a hledaný termín.

    from azure.cognitiveservices.search.newssearch import NewsSearchClient
    from msrest.authentication import CognitiveServicesCredentials
    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    search_term = "Quantum Computing"
    

Inicializace klienta a odeslání požadavku

  1. Vytvořte instanci CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Odešlete vyhledávací dotaz do rozhraní API pro vyhledávání zpráv a uložte odpověď.

    news_result = client.news.search(query=search_term, market="en-us", count=10)
    

Parsování odpovědi

Pokud se nějaké výsledky hledání najdou, vytiskněte první výsledek webové stránky:

if news_result.value:
    first_news_result = news_result.value[0]
    print("Total estimated matches value: {}".format(
        news_result.total_estimated_matches))
    print("News result count: {}".format(len(news_result.value)))
    print("First news name: {}".format(first_news_result.name))
    print("First news url: {}".format(first_news_result.url))
    print("First news description: {}".format(first_news_result.description))
    print("First published time: {}".format(first_news_result.date_published))
    print("First news provider: {}".format(first_news_result.provider[0].name))
else:
    print("Didn't see any news result data..")

Další kroky