Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aviso
Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram transferidas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, consulte 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, consulte Criar um recurso de Pesquisa do Bing por meio do Azure Marketplace.
Use este início rápido para saber como solicitar resultados da pesquisa de sua instância de Pesquisa Personalizada do Bing. Embora esse aplicativo seja escrito em Java, a API de Pesquisa Personalizada do Bing é um serviço Web RESTful compatível com a maioria das linguagens de programação. O código-fonte deste exemplo está disponível no GitHub.
Pré-requisitos
Uma instância de Pesquisa Personalizada do Bing. Para obter mais informações, consulte Início Rápido: Criar sua primeira instância de Pesquisa Personalizada do Bing.
O kit de desenvolvimento java mais recente.
Criar um recurso do Azure
Comece a usar a API de Pesquisa Personalizada do Bing criando um dos seguintes recursos do Azure.
recurso de Pesquisa Personalizada do Bing
- Disponível por meio do portal do Azure até que você exclua o recurso.
- Use o plano de preços gratuito para experimentar o serviço, e depois mude para um plano pago para fins de produção.
recurso multisserviço
- Disponível por meio do portal do Azure até que você exclua o recurso.
- Use a mesma chave e ponto de extremidade para seus aplicativos, em vários serviços de IA do Azure.
Criar e inicializar o aplicativo
Crie um novo projeto Java em seu IDE ou editor favorito e importe as seguintes bibliotecas:
import java.io.InputStream; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; import javax.net.ssl.HttpsURLConnection; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import com.google.gson.JsonParser;
Crie uma classe chamada
CustomSrchJava
, e, em seguida, crie variáveis para a chave de assinatura, o ponto de extremidade de pesquisa personalizado e a ID de configuração personalizada da instância de pesquisa. Você pode usar o ponto de extremidade global no código a seguir ou usar o ponto de extremidade do subdomínio personalizado exibido no portal do Azure para seu recurso.public class CustomSrchJava { static String host = "https://api.cognitive.microsoft.com"; static String path = "/bingcustomsearch/v7.0/search"; static String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; static String customConfigId = "YOUR-CUSTOM-CONFIG-ID"; static String searchTerm = "Microsoft"; ...
Crie outra classe nomeada
SearchResults
para conter a resposta da instância de Pesquisa Personalizada do Bing.class SearchResults { HashMap<String, String> relevantHeaders; String jsonResponse; SearchResults(HashMap<String, String> headers, String json) { relevantHeaders = headers; jsonResponse = json; } }
Crie uma função nomeada
prettify()
para formatar a resposta JSON da API de Pesquisa Personalizada do Bing.// pretty-printer for JSON; uses GSON parser to parse and re-serialize public static String prettify(String json_text) { JsonParser parser = new JsonParser(); JsonObject json = parser.parse(json_text).getAsJsonObject(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); return gson.toJson(json); }
Enviar e receber uma solicitação de pesquisa
Crie uma função nomeada
SearchWeb()
que envia uma solicitação e retorna umSearchResults
objeto. Crie a URL de solicitação combinando suas informações personalizadas de ID de configuração, consulta e ponto de extremidade. Adicione sua chave de assinatura aoOcp-Apim-Subscription-Key
cabeçalho.public class CustomSrchJava { ... public static SearchResults SearchWeb (String searchQuery) throws Exception { // construct the URL for your search request (endpoint + query string) URL url = new URL(host + path + "?q=" + URLEncoder.encode(searchTerm, "UTF-8") + "&CustomConfig=" + customConfigId); HttpsURLConnection connection = (HttpsURLConnection)url.openConnection(); connection.setRequestProperty("Ocp-Apim-Subscription-Key", subscriptionKey); ...
Crie um fluxo e armazene a resposta JSON em um
SearchResults
objeto.public class CustomSrchJava { ... public static SearchResults SearchWeb (String searchQuery) throws Exception { ... // receive the JSON body InputStream stream = connection.getInputStream(); String response = new Scanner(stream).useDelimiter("\\A").next(); // construct result object for return SearchResults results = new SearchResults(new HashMap<String, String>(), response); stream.close(); return results; }
Imprima a resposta JSON.
System.out.println("\nJSON Response:\n"); System.out.println(prettify(result.jsonResponse));
Execute o programa.