Condividi tramite


Personalizzare e suggerire query di ricerca di immagini

Avvertimento

Il 30 ottobre 2020, le API di ricerca Bing sono state spostate dai servizi di intelligenza artificiale di Azure ai servizi di ricerca Bing. Questa documentazione è disponibile solo per riferimento. Per la documentazione aggiornata, vedere la Documentazione dell'API di Ricerca Bing. Per istruzioni sulla creazione di nuove risorse di Azure per Ricerca Bing, vedere Creare una risorsa di Ricerca Bing tramite Azure Marketplace.

Usare questo articolo per informazioni su come personalizzare le query e suggerire termini di ricerca da inviare all'API Ricerca immagini Bing.

Suggerire termini di ricerca

Se l'app include una casella di ricerca in cui vengono immessi i termini di ricerca, è possibile usare l'API Suggerimenti automatici Bing per migliorare l'esperienza. L'API può visualizzare i termini di ricerca suggeriti in tempo reale. L'API restituisce stringhe di query suggerite in base ai termini di ricerca parziali e ai servizi di intelligenza artificiale di Azure.

Ruota la query

Se Bing può segmentare la query di ricerca originale, l'oggetto restituito Images contiene pivotSuggestions. I suggerimenti pivot possono essere visualizzati come termini di ricerca facoltativi per l'utente. Ad esempio, se la query originale è stata Microsoft Surface, Bing potrebbe segmentare la query in Microsoft e Surface e fornire pivot suggeriti per ognuno. Questi suggerimenti possono essere visualizzati come termini di query facoltativi per l'utente.

L'esempio seguente mostra i suggerimenti di pivot per 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
}

Il campo pivotSuggestions contiene l'elenco di segmenti (pivot) in cui è stata suddivisa la query originale. Per ogni pivot, la risposta contiene un elenco di oggetti query contenenti query suggerite. Il campo text contiene la query suggerita. Il campo displayText contiene il termine che sostituisce il pivot nella query originale. Un esempio è Data di rilascio di Surface.

Se la stringa di query pivot è quella che l'utente sta cercando, usare i campi text e thumbnail per visualizzare le stringhe di query pivot. Rendere selezionabile l'anteprima e il testo usando l'URL webSearchUrl o l'URL searchLink. Usare webSearchUrl per inviare l'utente ai risultati della ricerca Bing. Se si specifica una pagina dei risultati personalizzata, usare searchLink.

Espandi la query

Se Bing può espandere la query per restringere la ricerca originale, l'oggetto immagini contiene il campo queryExpansions. Ad esempio, se la query è stata Microsoft Surface, le query espanse potrebbero essere:

  • Microsoft Surface Pro 3.
  • Microsoft Surface RT.
  • Microsoft Surface Phone.
  • Microsoft Surface Hub.

L'esempio seguente mostra le queries ampliate per 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
}

Il campo queryExpansions contiene un elenco di oggetti Query. Il campo text contiene la query espansa. Il campo displayText contiene il termine di espansione. Se la stringa di query espansa è quella che l'utente sta cercando, usare i campi text e thumbnail per visualizzare le stringhe di query espanse. Rendere selezionabile l'anteprima e il testo usando l'URL webSearchUrl o l'URL searchLink. Usare webSearchUrl per inviare l'utente ai risultati della ricerca Bing. se si specifica una pagina dei risultati personalizzata, usare searchLink.

Limitazione delle richieste

Il servizio e il tipo di sottoscrizione determinano il numero di query al secondo (QPS) che è possibile eseguire. Assicurarsi che l'applicazione includa la logica per rimanere entro la quota. Se il limite QPS viene soddisfatto o superato, la richiesta ha esito negativo e viene restituito un codice di stato HTTP 429. La risposta include l'intestazione Retry-After, che indica per quanto tempo è necessario attendere prima di inviare un'altra richiesta.

Denial of Service e limitazione

Il servizio fa una differenziazione tra un attacco Denial of Service (DoS) e una violazione QPS. Se il servizio sospetta un attacco DoS, la richiesta ha esito positivo (il codice di stato HTTP è 200 OK). Tuttavia, il corpo della risposta è vuoto.

Passaggi successivi

Se non hai mai provato l'API di Ricerca Immagini di Bing, prova una guida introduttiva . Se si sta cercando qualcosa di più complesso, provare l'esercitazione per creare un'app Web a pagina singola .