Classificatie gebruiken om resultaten van de Bing Webzoekopdrachten-API weer te geven
Waarschuwing
Op 30 oktober 2020 zijn de Bing Search-API's verplaatst van Azure AI-services naar Bing Search Services. Deze documentatie wordt alleen ter referentie verstrekt. Zie de bing zoek-API-documentatie voor bijgewerkte documentatie. Voor instructies voor het maken van nieuwe Azure-resources voor Bing, zie Een Bing Search-resource maken via de Azure Marketplace.
Elk zoekantwoord bevat een RankingResponse-antwoord dat aangeeft hoe u de zoekresultaten moet weergeven. De rangschikkingsreactiegroepen groeperen resultaten op basis van hoofdinhoud en zijbalkinhoud voor een traditionele zoekresultatenpagina. Als u de resultaten niet in een traditionele indeling voor hoofdlijnen en zijbalken weergeeft, moet u de inhoud van de hoofdlijn beter zichtbaar maken dan de sidebar-inhoud.
Binnen elke groep (hoofdlijn of zijbalk) identificeert de matrix Items de volgorde waarin de inhoud moet worden weergegeven. Elk item bevat de volgende twee manieren om het resultaat binnen een antwoord te identificeren.
answerType
enresultIndex
— HetanswerType
veld identificeert het antwoord (bijvoorbeeld webpagina of nieuws) enresultIndex
identificeert een resultaat in het antwoord (bijvoorbeeld een nieuwsartikel). De index is gebaseerd op nul.value
— Hetvalue
veld bevat een id die overeenkomt met de id van een antwoord of een resultaat in het antwoord. Het antwoord of de resultaten bevatten de id, maar niet beide.
Het gebruik van de id is eenvoudiger, omdat u alleen de rangschikking-id hoeft te matchen met de id van een antwoord of een van de resultaten. Als een antwoordobject een id
veld bevat, geeft u alle resultaten van het antwoord samen weer. Als het object bijvoorbeeld het News
id
veld bevat, geeft u alle nieuwsartikelen samen weer. Als het object het News
id
veld niet bevat, bevat elk nieuwsartikel een id
veld en het classificatieantwoord combineert de nieuwsartikelen met de resultaten van andere antwoorden.
Het gebruik van de answerType
en resultIndex
is iets ingewikkelder. U gebruikt answerType
om het antwoord te identificeren dat de resultaten bevat die moeten worden weergegeven. Vervolgens gebruikt u resultIndex
om door de resultaten van het antwoord te indexeren om het resultaat weer te geven. (De answerType
waarde is de naam van het veld in het object SearchResponse .) Als u alle resultaten van het antwoord samen wilt weergeven, bevat het resultIndex
item voor het rangschikkingsantwoord het veld niet.
Voorbeeld van classificatieantwoord
Hieronder ziet u een voorbeeld van RankingResponse. Omdat het webantwoord geen veld bevat id
, worden alle webpagina's afzonderlijk weergegeven op basis van de classificatie (elke webpagina bevat een id
veld). En omdat de antwoorden op afbeeldingen, video's en gerelateerde zoekopdrachten wel het id
veld bevatten, zou u de resultaten van elk van deze antwoorden samen weergeven op basis van de rangschikking.
{
"_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"
}
}]
}
}
}
Op basis van dit classificatieantwoord worden in de hoofdlijn de volgende zoekresultaten weergegeven:
- Het eerste webpaginaresultaat
- Alle afbeeldingen
- De resultaten van de tweede en derde webpagina
- Alle video's
- De resultaten van de 4e, 5e en 6e webpagina
In de zijbalk worden de volgende zoekresultaten weergegeven:
- Alle gerelateerde zoekopdrachten
Volgende stappen
Zie Het promoten van antwoorden die niet zijn gerangschikt voor informatie over het promoten van ongerankeerde resultaten.
Zie de C#-classificatiezelfstudie voor een C#-voorbeeld waarin classificatie wordt gebruikt om resultaten weer te geven.