Filtrar as respostas que a resposta da pesquisa inclui
Aviso
Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram migradas 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.
Quando você realiza uma consulta na Web, o Bing retorna todo o conteúdo relevante que ele encontra para a pesquisa. Por exemplo, se a consulta de pesquisa for "vela+barcos", a resposta poderá conter as seguintes respostas:
{
"_type" : "SearchResponse",
"webPages" : {
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43C...",
"totalEstimatedMatches" : 262000,
"value" : [...]
},
"images" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=sail...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43CA5CA6464E5D...",
"isFamilyFriendly" : true,
"value" : [...]
},
"rankingResponse" : {
"mainline" : {
"items" : [...]
}
}
}
Parâmetros de consulta
Para filtrar as respostas retornadas pelo Bing, use estes parâmetros de consulta ao chamar a API.
ResponseFilter
É possível filtrar os tipos de respostas que o Bing inclui na resposta (por exemplo, imagens, vídeos e notícias) usando o parâmetro de consulta responseFilter, que é uma lista de respostas delimitada por vírgulas. Uma resposta será incluída na resposta se o Bing encontrar um conteúdo relevante para ela.
Para excluir respostas específicas da resposta, como imagens, inclua um caractere -
antes do tipo de resposta. Por exemplo:
&responseFilter=-images,-videos
A seguir, mostramos como usar responseFilter
para solicitar imagens, vídeos e notícias sobre barcos a vela. Quando você codifica a cadeia de caracteres de consulta, as vírgulas são alteradas para %2C.
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&responseFilter=images%2Cvideos%2Cnews&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
O exemplo a seguir mostra a resposta à solicitação anterior. Como o Bing não encontrou resultados relevantes de vídeo e notícias a resposta não os incluiu.
{
"_type" : "SearchResponse",
"images" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=sail...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3AD78B183C56456C...",
"isFamilyFriendly" : true,
"value" : [...]
},
"rankingResponse" : {
"mainline" : {
"items" : [{
"answerType" : "Images",
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images"
}
}]
}
}
}
Embora o Bing não tenha retornado os resultados de vídeo e notícias na resposta anterior, isso não significa que o conteúdo de vídeo e de notícias não exista. Isso significa apenas que a página não os inclui. No entanto, se você percorresse as páginas através de mais resultados, as páginas subsequentes provavelmente os incluiriam. Além disso, se você chamar os pontos de extremidade API de Pesquisa de Vídeo e API de Pesquisa de Notícias diretamente, a resposta provavelmente conterá resultados.
Não é recomendável usar responseFilter
para obter os resultados de uma única API. Se desejar o conteúdo de uma única API do Bing, chame essa API diretamente. Por exemplo, para receber apenas imagens, envie uma solicitação para o ponto de extremidade da API de Pesquisa de Imagens, https://api.cognitive.microsoft.com/bing/v7.0/images/search
ou um dos outros pontos de extremidade Imagens. Chamar a única API é importante não apenas por motivos de desempenho, mas porque as APIs específicas do conteúdo oferecem resultados mais úteis. Por exemplo, você pode usar filtros que não estão disponíveis para a API de Pesquisa na Web para filtrar os resultados.
Site
Para obter resultados da pesquisa de um domínio específico, inclua o parâmetro de consulta site:
na cadeia de caracteres de consulta.
https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies+site:contososailing.com&mkt=en-us
Observação
Dependendo da consulta, se você usar o operador de consulta site:
, haverá a possibilidade de que a resposta contenha conteúdo adulto, independentemente da configuração da safeSearch. Só use site:
se estiver ciente sobre o conteúdo do site e se seu cenário permitir a possibilidade de obtenção de conteúdo adulto.
Atualização
Para limitar os resultados de resposta da Web a páginas da Web que o Bing descobriu durante um período específico, defina o parâmetro de consulta freshness para um destes valores que não diferenciam maiúsculas e minúsculas:
-
Day
: retorna páginas da Web que o Bing descobriu nas últimas 24 horas -
Week
: retorna páginas da Web que o Bing descobriu nos últimos 7 dias -
Month
: retorna páginas da Web que o Bing descobriu nos últimos 30 dias
Também é possível definir este parâmetro como um intervalo de datas personalizado no formato YYYY-MM-DD..YYYY-MM-DD
.
https://<host>/bing/v7.0/search?q=ipad+updates&freshness=2019-02-01..2019-05-30
Para limitar os resultados a uma data, defina o parâmetro freshness como uma data específica:
https://<host>/bing/v7.0/search?q=ipad+updates&freshness=2019-02-04
Se o número de páginas da Web que o Bing associa aos critérios de filtro for menor que o número de páginas da Web que você solicitou (ou o número padrão que o Bing retorna), os resultados poderão incluir páginas da Web que estão fora do período especificado.
Limite o número de itens na resposta
O Bing pode retornar vários tipos de resposta na resposta JSON. Por exemplo, se você consultar sailing+dinghies, o Bing retornará webpages
, images
, videos
e relatedSearches
.
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"images" : {...},
"relatedSearches" : {...},
"videos" : {...},
"rankingResponse" : {...}
}
Para limitar o número de respostas que o Bing retorna para as duas principais respostas (páginas da Web e imagens), defina o parâmetro de consulta answerCount como 2.
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&answerCount=2&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
A resposta incluirá apenas webPages
e images
.
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"images" : {...},
"rankingResponse" : {...}
}
Se você adicionar o parâmetro de consulta responseFilter
à consulta anterior e defini-lo como páginas da Web e notícias, a resposta conterá apenas páginas da Web, pois as notícias não serão classificadas.
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"rankingResponse" : {...}
}
Promova respostas que não estão classificadas
Se as respostas mais bem classificadas retornadas pelo Bing para uma consulta fossem páginas da Web, imagens, vídeos e pesquisas relacionadas, a resposta incluiria essas respostas. Se você definir answerCount como dois (2), o Bing retornará as duas principais respostas classificadas: páginas da Web e imagens. Se você quiser que o Bing inclua imagens e vídeos na resposta, especifique o parâmetro de consulta promover e defina-o como imagens e vídeos.
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&answerCount=2&promote=images%2Cvideos&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
O exemplo a seguir é a resposta da solicitação anterior. O Bing retorna as duas principais respostas, páginas da Web e imagens e promove vídeos para a resposta.
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailiing dinghies"
},
"webPages" : {...},
"images" : {...},
"videos" : {...},
"rankingResponse" : {...}
}
Se você definir promote
como notícias, a resposta não incluirá a resposta de notícias por essa não ser uma resposta de classificação – você só pode promover respostas classificadas.
As respostas que você deseja promover não contam em relação ao limite answerCount
. Por exemplo, se as respostas classificadas forem notícias, imagens e vídeos, e você definir answerCount
como 1 e promote
para notícias, a resposta conterá notícias e imagens. Ou, se as respostas classificadas forem vídeos, imagens e notícias, a resposta conterá vídeos e notícias.
Você só poderá usar promote
se especificar o parâmetro de consulta answerCount
.