Rangsorolás használata a Bing Web Search API-eredmények megjelenítéséhez
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Minden keresési válasz tartalmaz egy RankingResponse választ, amely meghatározza, hogyan kell megjeleníteni a keresési eredményeket. A rangsorolási válasz fővonali tartalom és oldalsáv-tartalom szerint csoportosítja az eredményeket egy hagyományos keresési eredményoldalhoz. Ha az eredményeket nem hagyományos fővonal- és oldalsáv formátumban jeleníti meg, akkor a fővonal tartalmát nagyobb láthatóságot kell biztosítania, mint az oldalsáv tartalma.
Az egyes csoportokon (fővonalon vagy oldalsávon) belül az Elemek tömb azonosítja a tartalom megjelenítésének sorrendjét. Minden elem a következő két módszert kínálja az eredmény azonosítására egy válaszon belül.
answerType
ésresultIndex
– AanswerType
mező azonosítja a választ (például Weblap vagy Hírek), ésresultIndex
azonosítja a válaszon belüli eredményt (például egy hírcikket). Az index nulla alapú.value
– Avalue
mező egy olyan azonosítót tartalmaz, amely megfelel a válasz vagy a válaszon belüli eredmény azonosítójának. A válasz vagy az eredmények tartalmazzák az azonosítót, de nem mindkettőt.
Az azonosító használata egyszerűbb, mert csak a rangsorazonosítót kell egyeznie egy válasz vagy egy eredmény azonosítójával. Ha egy válaszobjektum tartalmaz egy id
mezőt, akkor a válasz összes eredményét együtt kell megjeleníteni. Ha például az News
objektum tartalmazza a id
mezőt, az összes hírcikket együtt jelenítheti meg. Ha az News
objektum nem tartalmazza a id
mezőt, akkor minden hírcikk tartalmaz egy id
mezőt, és a rangsorolási válasz összekeveri a hírcikkeket a többi válasz eredményeivel.
answerType
Az és resultIndex
használata egy kicsit bonyolultabb. Ezzel answerType
azonosíthatja a megjelenítendő eredményeket tartalmazó választ. Ezután indexelheti resultIndex
a válasz eredményeit, hogy megjeleníthesse az eredményt. (Az answerType
érték a SearchResponse objektum mezőjének neve.) Ha a válasz összes eredményét együtt kell megjelenítenie, a rangsorolási válaszelem nem tartalmazza a resultIndex
mezőt.
Példa a rangsorolási válaszra
Az alábbiakban egy példát mutatunk be RankingResponse néven. Mivel a webes válasz nem tartalmaz id
mezőt, az összes weblapot egyenként jelenítheti meg a rangsorolás alapján (minden weblap tartalmaz egy id
mezőt). Mivel a képekre, videókra és kapcsolódó keresésekre adott válaszok tartalmazzák a id
mezőt, az egyes válaszok eredményeit együtt jelenítheti meg a rangsorolás alapjá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"
}
}]
}
}
}
A rangsorolási válasz alapján a fővonal a következő keresési eredményeket jeleníti meg:
- Az első weblap eredménye
- Minden kép
- A második és a harmadik weboldal eredményei
- Az összes videó
- A 4., 5. és 6. weblap eredményei
Az oldalsáv pedig a következő keresési eredményeket jeleníti meg:
- Az összes kapcsolódó keresés
Következő lépések
A nem rangsorolt eredmények előléptetéséről további információt a Nem rangsorolt válaszok népszerűsítése című témakörben talál.
A válaszban a rangsorolt válaszok számának korlátozásával kapcsolatos információkért lásd: A válaszok számának korlátozása a válaszban.
Az eredmények megjelenítéséhez rangsorolást használó C#-példát a C#-rangsorolási oktatóanyagban talál.