Cómo usar las clasificaciones para mostrar los resultados de Bing Web Search API
Advertencia
El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.
Cada respuesta de búsqueda de entidad incluye una respuesta RankingResponse, que especifica cómo debe mostrar los resultados de la búsqueda. Resultados de los grupos de respuesta de la clasificación por contenido de la línea principal y contenido de la barra lateral de una página de resultados de la búsqueda tradicional. Si no muestra los resultados en un formato tradicional de línea principal y barra lateral, debe dar mayor visibilidad al contenido de la línea principal que al contenido de la barra lateral.
Dentro de cada grupo (línea principal o barra lateral), la matriz Elementos identifica el orden en que debe aparecer el contenido. Cada elemento ofrece la siguientes dos formas de identificar el resultado dentro de una respuesta.
answerType
yresultIndex
: el campoanswerType
identifica la respuesta (por ejemplo, Página web o Noticias) yresultIndex
identifica un resultado dentro de una respuesta (por ejemplo, un artículo de noticias). El índice es de base cero.value
: el campovalue
contiene un identificador que coincide con el identificador de una respuesta o de un resultado dentro de una respuesta. La respuesta o los resultados contienen el identificador, pero no ambos.
El uso del identificador es más simple porque solo debe hacer coincidir el identificador de la clasificación con el identificador de una respuesta o de uno de sus resultados. Si el objeto de una respuesta incluye un campo id
, muestre todos los resultados de la respuesta juntos. Por ejemplo, si el objeto News
incluye el campo id
, muestre todos los artículos de noticias juntos. Si el objeto News
no incluye el campo id
, cada artículo de noticias contiene un campo id
y la respuesta de clasificación combina los artículos de noticias con los resultados de otras respuestas.
El uso de answerType
y resultIndex
es un poco más complicado. Debe usar answerType
para identificar la respuesta que contiene el resultado que se va a mostrar. A continuación, debe usar resultIndex
para la indexación en dichos resultados de la respuesta para obtener el resultado que se va a mostrar. (El valor answerType
es el nombre del campo en el objeto SearchResponse). Si se supone que se van a mostrar todos los resultados de la respuesta juntos, el elemento de la respuesta de clasificación no incluye el campo resultIndex
.
Ejemplo de respuesta de clasificación
A continuación se muestra un ejemplo de RankingResponse. Dado que la respuesta web no incluye un campo id
, se mostrarán todas las páginas web individualmente en función de la clasificación (cada página web incluye un campo id
). Y dado que las respuestas de las búsquedas de imágenes, vídeos y otras búsquedas relacionadas incluyen el campo id
, se mostrarán los resultados de cada una de estas respuestas juntas en función de la clasificación.
{
"_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"
}
}]
}
}
}
Según esta respuesta de clasificación, la línea principal mostrará los resultados de la búsqueda siguientes:
- El primer resultado de la página web
- Todas las imágenes
- El segundo y el tercer resultados de la página web
- Todos los vídeos
- Los resultados cuarto, quinto y sexto de la página web
La barra lateral mostrará los resultados de la búsqueda siguientes:
- Todas las búsquedas relacionadas
Pasos siguientes
Para obtener información acerca de la promoción de resultados no clasificados, consulte Promoting answers that are not ranked (Promoción de respuestas no clasificadas).
Para obtener información acerca de cómo limitar el número de respuestas clasificadas en la respuesta, consulte Limiting the number of answers in the response (Limitación del número de respuestas en la respuesta).
Para obtener un ejemplo C# que use la clasificación para mostrar los resultados, consulte el tutorial de clasificación de C#.