Como utilizar a classificação para apresentar os resultados da API de Pesquisa na Web 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.
Cada resposta de pesquisa inclui uma resposta RankingResponse , que especifica como tem de apresentar os resultados da pesquisa. A resposta de classificação agrupa os resultados por conteúdo de linha principal e conteúdo da barra lateral para uma página de resultados de pesquisa tradicional. Se não apresentar os resultados num formato mainline e barra lateral tradicional, tem de fornecer ao conteúdo da linha principal uma visibilidade superior ao conteúdo da barra lateral.
Dentro de cada grupo (mainline ou barra lateral), a matriz Itens identifica a ordem pela qual o conteúdo tem de aparecer. Cada item fornece as duas formas seguintes de identificar o resultado numa resposta.
answerType
eresultIndex
— OanswerType
campo identifica a resposta (por exemplo, Página Web ou Notícias) eresultIndex
identifica um resultado na resposta (por exemplo, um artigo de notícias). O índice é baseado em zero.value
— Ovalue
campo contém um ID que corresponde ao ID de uma resposta ou um resultado na resposta. A resposta ou os resultados contêm o ID, mas não ambos.
Utilizar o ID é mais simples de utilizar porque só precisa de corresponder o ID de classificação com o ID de uma resposta ou um dos respetivos resultados. Se um objeto de resposta incluir um id
campo, apresente todos os resultados da resposta em conjunto. Por exemplo, se o News
objeto incluir o id
campo, apresente todos os artigos de notícias em conjunto. Se o News
objeto não incluir o id
campo, cada artigo de notícias contém um id
campo e a resposta de classificação mistura os artigos de notícias com os resultados de outras respostas.
Utilizar o answerType
e resultIndex
é um pouco mais complicado.
answerType
Utiliza para identificar a resposta que contém os resultados a apresentar. Em seguida, utilize resultIndex
para indexar através dos resultados da resposta para obter o resultado a apresentar. (O answerType
valor é o nome do campo no objeto SearchResponse .) Se for suposto apresentar todos os resultados da resposta em conjunto, o item de resposta da classificação não inclui o resultIndex
campo.
Exemplo de resposta de classificação
Segue-se um exemplo de RankingResponse. Uma vez que a resposta Web não inclui um id
campo, apresentaria todas as páginas Web individualmente com base na classificação (cada página Web inclui um id
campo). E como as imagens, vídeos e respostas de pesquisas relacionadas incluem o id
campo, apresentaria os resultados de cada uma dessas respostas em conjunto com base na classificação.
{
"_type" : "SearchResponse",
"webPages" : {
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF214...",
"totalEstimatedMatches" : 835000,
"value" : [
{
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
"name" : "Motor Sports - Live at the race track ...",
"url" : "http:\/\/www.bing.com\/cr?IG=96C4CF214A0A43...",
"displayUrl" : "www.contoso.com\/usa\/eventsandracing\/motorsport",
"snippet" : "Here you will find detailed information about racing...",
"deepLinks" : [{
"name" : "Customer Racing",
"url" : "http:\/\/www.bing.com\/cr?IG=96C4CF214A0A43...",
"snippet" : "Customer racing news; General news..."
},
. . .
]
}],
"images" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF214A...",
"isFamilyFriendly" : true,
"value" : [
{
"name" : "2016 Supercar Wallpapers",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4...",
"thumbnailUrl" : "https:\/\/tse1.mm.bing.net\/th?id=OIP...",
"datePublished" : "2017-03-25T11:14:00",
"contentUrl" : "http:\/\/www.contoso.com\/wall...",
"hostPageUrl" : "http:\/\/www.bing.com\/cr?IG=96C4CF214...",
"contentSize" : "373283 B",
"encodingFormat" : "jpeg",
"hostPageDisplayUrl" : "http:\/\/www.contoso.com\/lmp-...",
"width" : 1920,
"height" : 1080,
"thumbnail" : {
"width" : 300,
"height" : 168
},
"insightsSourcesSummary" : {
"shoppingSourcesCount" : 0,
"recipeSourcesCount" : 0
}
},
. . .
]
},
"relatedSearches" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#RelatedSearches",
"value" : [
{
"text" : "vintage racing teams",
"displayText" : "vintage racing teams",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF2..."
},
. . .
]
},
"videos" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Videos",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/videos...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF214A...",
"isFamilyFriendly" : true,
"value" : [
{
"name" : "Why We Race",
"description" : "A new era begins in motorsports this weekend...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF2...",
"thumbnailUrl" : "https:\/\/tse4.mm.bing.net\/th?id=OVP.Vo1...",
"datePublished" : "2014-01-25T16:31:48",
"publisher" : [
{
"name" : "Fabrikam"
}
],
"contentUrl" : "https:\/\/www.fabrikam.com\/watch?v=oL...",
"hostPageUrl" : "https:\/\/www.bing.com\/cr?IG=96C4CF214...",
"encodingFormat" : "mp4",
"hostPageDisplayUrl" : "https:\/\/www.fabrikam.com\/watch?v=oLAZgD...",
"width" : 480,
"height" : 360,
"duration" : "PT2M42S",
"motionThumbnailUrl" : "https:\/\/tse4.mm.bing.net\/th?id=OM...",
"embedHtml" : "<iframe width=\"1280\" height=\"720\" src=\"http:\/\/www.you...<\/iframe>",
"allowHttpsEmbed" : true,
"viewCount" : 47325,
"thumbnail" : {
"width" : 300,
"height" : 168
},
"allowMobileEmbed" : true,
"isSuperfresh" : false
},
. . .
]
},
"rankingResponse" : {
"mainline" : {
"items" : [{
"answerType" : "WebPages",
"resultIndex" : 0,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0"
}
},
{
"answerType" : "Images",
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images"
}
},
{
"answerType" : "WebPages",
"resultIndex" : 1,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.1"
}
},
{
"answerType" : "WebPages",
"resultIndex" : 2,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.2"
}
},
{
"answerType" : "Videos",
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Videos"
}
},
{
"answerType" : "WebPages",
"resultIndex" : 3,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.3"
}
},
{
"answerType" : "WebPages",
"resultIndex" : 4,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.4"
}
},
{
"answerType" : "WebPages",
"resultIndex" : 5,
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.5"
}
}]
},
"sidebar" : {
"items" : [{
"answerType" : "RelatedSearches",
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#RelatedSearches"
}
}]
}
}
}
Com base nesta resposta de classificação, a linha principal apresentaria os seguintes resultados de pesquisa:
- O primeiro resultado da página Web
- Todas as imagens
- Os resultados da segunda e terceira páginas Web
- Todos os vídeos
- Os resultados da 4ª, 5ª e 6ª página Web
E a barra lateral apresentaria os seguintes resultados de pesquisa:
- Todas as pesquisas relacionadas
Passos seguintes
Para obter informações sobre a promoção de resultados não classificados, consulte Promover respostas que não estão classificadas.
Para obter informações sobre como limitar o número de respostas classificadas na resposta, veja Limitar o número de respostas na resposta.
Para obter um exemplo de C# que utiliza a classificação para apresentar resultados, consulte o tutorial de classificação C#.