Using ranking to display entity search results
Warning
On October 30, 2020, the Bing Search APIs moved from Azure AI services to Bing Search Services. This documentation is provided for reference only. For updated documentation, see the Bing search API documentation. For instructions on creating new Azure resources for Bing search, see Create a Bing Search resource through the Azure Marketplace.
Each entity search response includes a RankingResponse answer that specifies how you must display search results returned by the Bing Entity Search API. The ranking response groups results into pole, mainline, and sidebar content. The pole result is the most important or prominent result and should be displayed first. If you do not display the remaining results in a traditional mainline and sidebar format, you must provide the mainline content higher visibility than the sidebar content.
Within each group, the Items array identifies the order that the content must appear in. Each item provides two ways to identify the result within an answer.
Field | Description |
---|---|
answerType and resultIndex |
answerType identifies the answer (either Entity or Place) and resultIndex identifies a result within that answer (for example, an entity). The index starts at 0. |
value |
value Contains an ID that matches the ID of either an answer or a result within the answer. Either the answer or the results contain the ID but not both. |
Using the answerType
and resultIndex
is a two-step process. First, use answerType
to identify the answer that contains the results to display. Then use resultIndex
to index into that answer's results to get the result to display. (The answerType
value is the name of the field in the SearchResponse object.) If you're supposed to display all the answer's results together, the ranking response item doesn't include the resultIndex
field.
Using the ID requires you to match the ranking ID with the ID of an answer or one of its results. If an answer object includes an id
field, display all the answer's results together. For example, if the Entities
object includes the id
field, display all the entities articles together. If the Entities
object does not include the id
field, then each entity contains an id
field and the ranking response mixes the entities with the Places results.
Ranking response example
The following shows an example RankingResponse.
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "Jimi Hendrix"
},
"entities": { ... },
"rankingResponse": {
"sidebar": {
"items": [
{
"answerType": "Entities",
"resultIndex": 0,
"value": {
"id": "https://www.bingapis.com/api/v7/#Entities.0"
}
},
{
"answerType": "Entities",
"resultIndex": 1,
"value": {
"id": "https://www.bingapis.com/api/v7/#Entities.1"
}
}
]
}
}
}
Based on this ranking response, the sidebar would display the two entity results related to Jimi Hendrix.