Zoekquery's voor afbeeldingen aanpassen en voorstellen
Waarschuwing
Op 30 oktober 2020 zijn de Zoeken in Bing API's verplaatst van Azure AI-services naar Zoeken in Bing Services. Deze documentatie is alleen bedoeld ter referentie. Zie de bing-documentatie voor zoeken-API voor bijgewerkte documentatie. Zie Een Zoeken in Bing-resource maken via de Azure Marketplace voor instructies over het maken van nieuwe Azure-resources voor Bing Search.
Gebruik dit artikel voor meer informatie over het aanpassen van query's en het voorstellen van zoektermen voor het verzenden naar de Bing Afbeeldingen zoeken-API.
Zoektermen voorstellen
Als uw app een zoekvak bevat waarin zoektermen worden ingevoerd, kunt u de Automatische suggestie-API van Bing gebruiken om de ervaring te verbeteren. Met de API kunnen voorgestelde zoektermen in realtime worden weergegeven. De API retourneert voorgestelde queryreeksen op basis van gedeeltelijke zoektermen en Azure AI-services.
Draai de query
Als Bing de oorspronkelijke zoekquery kan segmenteren, bevat pivotSuggestions
het geretourneerde afbeeldingsobject . Draaisuggesties kunnen worden weergegeven als optionele zoektermen voor de gebruiker. Als de oorspronkelijke query bijvoorbeeld Microsoft Surface was, kan Bing de query segmenteren in Microsoft en Surface en suggesties voor elke query bieden. Deze suggesties kunnen worden weergegeven als optionele querytermen voor de gebruiker.
In het volgende voorbeeld ziet u de draaisuggesties voor Microsoft Surface:
{
"_type": "Images",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=microsoft%20surface&FORM=OIIARP",
"totalEstimatedMatches": 1000,
"value": [...],
"queryExpansions": [...],
"pivotSuggestions": [{
"pivot": "microsoft",
"suggestions": [{
"text": "Contoso Surface",
"displayText": "Contoso",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=OtterBox+Surface&FORM=IRQBPS",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=Contoso...",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Contoso+Surface..."
}
},
{
"text": "Adatum Surface",
"displayText": "Adatum",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Adatum+Surface&FORM=IRQBPS",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Adatum+Surface&pid=Ap..."
}
},
...
]
},
{
"pivot": "surface",
"suggestions": [{
"text": "Microsoft Surface4",
"displayText": "Surface4",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface...",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft..."
}
},
{
"text": "Microsoft Tablet",
"displayText": "Tablet",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Tablet&FORM=IRQBPS",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Microsoft+Tablet..."
}
},
...
],
"nextOffsetAddCount": 0
}
Het veld pivotSuggestions
bevat de lijst met segmenten (draaipunten) waarin de oorspronkelijke query is onderverdeeld. Voor elk draaipunt bevat de respons een lijst met Query-objecten met voorgestelde query's. Het text
veld bevat de voorgestelde query. Het displayText
veld bevat de term die de draai in de oorspronkelijke query vervangt. Een voorbeeld is Releasedatum van Surface.
Als de draaitabelquerytekenreeks is wat de gebruiker zoekt, gebruikt u de text
velden en thumbnail
om de draaitabelqueryreeksen weer te geven. Maak de miniatuur en tekst klikbaar met behulp van de webSearchUrl
URL of de searchLink
URL. Gebruik webSearchUrl
om de gebruiker naar de bing-zoekresultaten te sturen. Als u uw eigen resultatenpagina opgeeft, gebruikt u searchLink
.
De query uitvouwen
Als Bing de query kan uitbreiden om de oorspronkelijke zoekopdracht te beperken, bevat het object Images het veld queryExpansions
. Als de query bijvoorbeeld Microsoft Surface was, zijn de uitgebreide query's mogelijk:
- Microsoft Surface Pro 3.
- Microsoft Surface RT.
- Microsoft Surface Phone.
- Microsoft Surface Hub.
In het volgende voorbeeld ziet u de uitgebreide query's voor Microsoft Surface.
{
"_type": "Images",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=microsoft%20surface...",
"totalEstimatedMatches": 1000,
"value": [...],
"queryExpansions": [{
"text": "Microsoft Surface Pro 3",
"displayText": "Pro 3",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+Pro+3...",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=Microsoft...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+Pro+3..."
}
},
{
"text": "Microsoft Surface RT",
"displayText": "RT",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+RT...",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+RT..."
}
},
{
"text": "Microsoft Surface Phone",
"displayText": "Phone",
"webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+Phone",
"searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
"thumbnail": {
"thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+Phone..."
}
}],
"pivotSuggestions": [...],
"nextOffsetAddCount": 0
}
Het veld queryExpansions
bevat een lijst met Query-objecten. Het text
veld bevat de uitgevouwen query. Het displayText
veld bevat de uitbreidingsterm. Als de gebruiker op zoek is naar de uitgebreide querytekenreeks, gebruikt u de text
velden en thumbnail
om de uitgebreide queryreeksen weer te geven. Maak de miniatuur en tekst klikbaar met behulp van de webSearchUrl
URL of de searchLink
URL. Gebruik webSearchUrl
om de gebruiker naar de bing-zoekresultaten te sturen. Als u uw eigen resultatenpagina opgeeft, gebruikt u searchLink
.
Aanvraagbeperkingen
De service en uw abonnementtype bepalen hoeveel query’s u per seconde kunt uitvoeren (QPS). Zorg dat uw toepassing logica bevat die zorgt dat u binnen uw quotum blijft. Als de QPS-limiet is bereikt of overschreden, mislukt de aanvraag en wordt er een HTTP 429-statuscode geretourneerd. Het antwoord bevat de header Retry-After
, waarin wordt aangegeven hoe lang u moet wachten voordat u een nieuwe aanvraag kunt verzenden.
Denial of Service (DoS) versus beperking
De service maakt een onderscheid tussen een denial-of-service (DoS)-aanval en een overschrijding van de QPS. Als de service een Denial of Service-aanval vermoedt, slaagt de aanvraag (HTTP-statuscode is 200 OK). De hoofdtekst van het antwoord is in dit geval echter leeg.
Volgende stappen
Als u de Bing Afbeeldingen zoeken-API nog niet eerder hebt geprobeerd, probeert u een quickstart. Als u op zoek bent naar iets complexers, kunt u de zelfstudie proberen om een web-app met één pagina te maken.