Início Rápido: Utilizar a biblioteca de cliente da Pesquisa Personalizada do Bing

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Introdução à biblioteca de cliente da Pesquisa Personalizada do Bing para C#. Siga estes passos para instalar o pacote e experimentar o código de exemplo para tarefas básicas. A API de Pesquisa Personalizada do Bing permite-lhe criar experiências de pesquisa personalizadas e sem anúncios para tópicos que lhe interessam. O código fonte para este exemplo pode ser encontrado no GitHub.

Utilize a biblioteca de cliente de Pesquisa Personalizada do Bing para C# para:

  • Localize os resultados da pesquisa na Web, a partir da sua instância de Pesquisa Personalizada do Bing.

Documentação de referência | Código fonte | da bibliotecaPacote (NuGet) | Exemplos

Pré-requisitos

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa Personalizada do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa Personalizada do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.

Recurso multi-Serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar a aplicação

  1. Crie uma nova aplicação de consola C# no Visual Studio. Em seguida, adicione os seguintes pacotes ao seu projeto.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.CustomSearch;
    
  2. No método principal da sua aplicação, instanciar o cliente de pesquisa com a sua chave de API.

    var client = new CustomSearchAPI(new ApiKeyServiceClientCredentials("YOUR-SUBSCRIPTION-KEY"));
    

Enviar o pedido de pesquisa e receber uma resposta

  1. Envie uma consulta de pesquisa com o método do SearchAsync() cliente e guarde a resposta. Certifique-se de que substitui o ID YOUR-CUSTOM-CONFIG-ID de configuração da instância (pode encontrar o ID no portal de Pesquisa Personalizada do Bing). Este exemplo procura "Xbox".

    // This will look up a single query (Xbox).
    var webData = client.CustomInstance.SearchAsync(query: "Xbox", customConfig: Int32.Parse("YOUR-CUSTOM-CONFIG-ID")).Result;
    
  2. O método SearchAsync()devolve um objeto WebData. Utilize o objeto para iterar através de qualquer WebPages um que tenha sido encontrado. Este código localiza o primeiro resultado de página Web, imprime-a Name e URL.

    if (webData?.WebPages?.Value?.Count > 0)
    {
        // find the first web page
        var firstWebPagesResult = webData.WebPages.Value.FirstOrDefault();
    
        if (firstWebPagesResult != null)
        {
            Console.WriteLine("Number of webpage results {0}", webData.WebPages.Value.Count);
            Console.WriteLine("First web page name: {0} ", firstWebPagesResult.Name);
            Console.WriteLine("First web page URL: {0} ", firstWebPagesResult.Url);
        }
        else
        {
            Console.WriteLine("Couldn't find web results!");
        }
    }
    else
    {
        Console.WriteLine("Didn't see any Web data..");
    }
    

Passos seguintes

Introdução à biblioteca de cliente da Pesquisa Personalizada do Bing para Java. Siga estes passos para instalar o pacote e experimentar o código de exemplo para tarefas básicas. A API de Pesquisa Personalizada do Bing permite-lhe criar experiências de pesquisa personalizadas e sem anúncios para tópicos que lhe interessam. O código fonte para este exemplo pode ser encontrado no GitHub

Utilize a biblioteca de cliente de Pesquisa Personalizada do Bing para Java para:

  • Localize os resultados da pesquisa na Web, a partir da sua instância de Pesquisa Personalizada do Bing.

Documentação de referência | Código fonte | da bibliotecaArtefacto (Maven) | Exemplos

Pré-requisitos

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa Personalizada do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa Personalizada do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.

Recurso multi-Serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Depois de obter uma chave do recurso, crie uma variável de ambiente para a chave, denominada AZURE_BING_CUSTOM_SEARCH_API_KEY.

Criar um novo projeto gradle

Dica

Se não estiver a utilizar o Gradle, pode encontrar os detalhes da biblioteca de cliente para outros gestores de dependências no Repositório Central do Maven.

Numa janela da consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para o mesmo.

mkdir myapp && cd myapp

Execute o comando a gradle init partir do diretório de trabalho. Este comando cria ficheiros de compilação essenciais para o Gradle, incluindo um ficheiro build.gradle.kts que é utilizado no runtime para configurar a sua aplicação.

gradle init --type basic

Quando lhe for pedido para escolher um DSL, selecione Kotlin.

Instalar a biblioteca de cliente

Localize build.gradle.kts e abra-o com o seu IDE ou editor de texto preferido. Em seguida, copie nesta configuração de compilação. Certifique-se de que inclui a biblioteca de cliente em dependencies:

plugins {
    java
    application
}
application {
    mainClassName = "main.java.BingCustomSearchSample"
}
repositories {
    mavenCentral()
}
dependencies {
    compile("org.slf4j:slf4j-simple:1.7.25")
    compile("com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customsearch:1.0.2")
}

Crie uma pasta para a sua aplicação de exemplo. No diretório de trabalho, execute o seguinte comando:

mkdir src/main/java

Navegue para a nova pasta e crie um ficheiro chamado BingCustomSearchSample.java. Abra-o e adicione as seguintes import instruções:

package main.java;

import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchAPI;
import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchManager;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.SearchResponse;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.WebPage;

Criar uma classe com o nome BingCustomSearchSample

public class BingCustomSearchSample {
}

Na classe, crie um main método e uma variável para a chave do recurso. Se tiver criado a variável de ambiente depois de iniciar a aplicação, feche e reabra o editor, o IDE ou a shell a executá-la para aceder à variável. Irá definir os métodos mais tarde.

public static void main(String[] args) {
    try {

        // Set the BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY and AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID environment variables, 
        // then reopen your command prompt or IDE. If not, you may get an API key not found exception.
        final String subscriptionKey = System.getenv("BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY");
        // If you do not have a customConfigId, you can also use 1 as your value when setting your environment variable.
        final String customConfigId = System.getenv("AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID");

        BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);

        runSample(client, customConfigId);
    } catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

Modelo de objeto

O cliente de Pesquisa Personalizada do Bing é um objeto BingCustomSearchAPI criado a partir do método de autenticação() do objeto BingCustomSearchManager. Pode enviar um pedido de pesquisa com o método BingCustomInstances.search() do cliente.

A resposta da API é um objeto SearchResponse que contém informações sobre a consulta de pesquisa e os resultados da pesquisa.

Exemplos de código

Estes fragmentos de código mostram-lhe como realizar as seguintes tarefas com a biblioteca de cliente pesquisa personalizada do Bing para Java:

Autenticar o cliente

O método principal deve incluir um objeto BingCustomSearchManager que utiliza a sua chave e chama o respetivo authenticate().

BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);

Obter resultados de pesquisa da sua instância de pesquisa personalizada

Utilize a função BingCustomInstances.search() do cliente para enviar uma consulta de pesquisa para a sua instância personalizada. Defina o para o withCustomConfig ID de configuração personalizado ou predefinido como 1. Depois de obter uma resposta da API, verifique se foram encontrados resultados da pesquisa. Se for o caso, obtenha o primeiro resultado de pesquisa ao chamar a função da webPages().value().get() resposta e imprimir o nome e o URL do resultado.

public static boolean runSample(BingCustomSearchAPI client, String customConfigId) {
    try {

        // This will search for "Xbox" using Bing Custom Search 
        //and print out name and url for the first web page in the results list

        System.out.println("Searching for Query: \"Xbox\"");
        SearchResponse webData = client.bingCustomInstances().search()
            .withCustomConfig(customConfigId != null ? Long.valueOf(customConfigId) : 0)
            .withQuery("Xbox")
            .withMarket("en-us")
            .execute();

        if (webData != null && webData.webPages() != null && webData.webPages().value().size() > 0)
        {
            // find the first web page
            WebPage firstWebPagesResult = webData.webPages().value().get(0);

            if (firstWebPagesResult != null) {
                System.out.println(String.format("Webpage Results#%d", webData.webPages().value().size()));
                System.out.println(String.format("First web page name: %s ", firstWebPagesResult.name()));
                System.out.println(String.format("First web page URL: %s ", firstWebPagesResult.url()));
            } else {
                System.out.println("Couldn't find web results!");
            }
        } else {
            System.out.println("Didn't see any Web data..");
        }

        return true;
    } catch (Exception f) {
        System.out.println(f.getMessage());
        f.printStackTrace();
    }
    return false;
}

Executar a aplicação

Crie a aplicação com o seguinte comando a partir do diretório principal do projeto:

gradle build

Execute a aplicação com o run objetivo:

gradle run

Limpar os recursos

Se quiser limpar e remover uma subscrição de serviços de IA do Azure, pode eliminar o recurso ou grupo de recursos. Eliminar o grupo de recursos também elimina quaisquer outros recursos associados ao mesmo.

Passos seguintes

Introdução à biblioteca de cliente de Pesquisa Personalizada do Bing para Python. Siga estes passos para instalar o pacote e experimente o código de exemplo para tarefas básicas. A API de Pesquisa Personalizada do Bing permite-lhe criar experiências de pesquisa personalizadas e sem anúncios para tópicos que lhe interessam. O código fonte deste exemplo pode ser encontrado no GitHub.

Utilize a biblioteca de cliente de Pesquisa Personalizada do Bing para Python para:

  • Localize os resultados da pesquisa na Web, a partir da sua instância de Pesquisa Personalizada do Bing.

Documentação de referência | Código fonte | da bibliotecaPacote (PyPi) | Exemplos

Pré-requisitos

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa Personalizada do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa Personalizada do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Instalar a biblioteca de cliente Python

Instale a biblioteca de cliente de Pesquisa Personalizada do Bing com o seguinte comando.

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

Criar uma nova aplicação

Crie um novo ficheiro Python no seu editor favorito ou IDE e adicione as seguintes importações.

from azure.cognitiveservices.search.customsearch import CustomSearchClient
from msrest.authentication import CognitiveServicesCredentials

Criar um cliente de pesquisa e enviar um pedido

  1. Crie uma variável para a sua chave de subscrição e ponto final.

    subscription_key = 'your-subscription-key'
    endpoint = 'your-endpoint'
    
  2. Crie uma instância de CustomSearchClient, com um CognitiveServicesCredentials objeto com a chave de subscrição.

    client = CustomSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  3. Envie um pedido de pesquisa com client.custom_instance.search(). Acrescente o termo de pesquisa ao parâmetro e defina custom_config para o query ID de Configuração Personalizada para utilizar a instância de pesquisa. Pode obter o seu ID a partir do portal de Pesquisa Personalizada do Bing ao clicar no separador Produção .

    web_data = client.custom_instance.search(query="xbox", custom_config="your-configuration-id")
    

Ver os resultados da pesquisa

Se foram encontrados resultados de pesquisa de páginas Web, obtenha o primeiro e imprima o respetivo nome, URL e páginas Web totais encontradas.

if web_data.web_pages.value:
    first_web_result = web_data.web_pages.value[0]
    print("Web Pages result count: {}".format(len(web_data.web_pages.value)))
    print("First Web Page name: {}".format(first_web_result.name))
    print("First Web Page url: {}".format(first_web_result.url))
else:
    print("Didn't see any web data..")

Passos seguintes