Partilhar via


Personalizar e sugerir consultas de pesquisa de imagens

Advertência

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram movidas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, veja a documentação da API de pesquisa Bing . Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, consulte Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Use este artigo para saber como personalizar consultas e sugerir termos de pesquisa para enviar à API de Pesquisa de Imagens do Bing.

Sugerir termos de pesquisa

Se o seu aplicativo tiver uma caixa de pesquisa onde os termos de pesquisa são inseridos, você poderá usar o API de Sugestão Automática do Bing para melhorar a experiência. A API pode exibir termos de pesquisa sugeridos em tempo real. A API retorna cadeias de caracteres de consulta sugeridas com base em termos de pesquisa parciais e serviços de IA do Azure.

Reorientar a consulta

Se o Bing puder segmentar a consulta de pesquisa original, o objeto Imagens de retornado conterá pivotSuggestions. As sugestões de termos pivô podem ser exibidas como termos de pesquisa opcionais para o utilizador. Por exemplo, se a consulta original foi Microsoft Surface, o Bing pode segmentar a consulta em Microsoft e Surface e fornecer pivôs sugeridos para cada um. Essas sugestões podem ser exibidas como termos de consulta opcionais para o usuário.

O exemplo a seguir mostra as sugestões de pivô para 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
}

O campo pivotSuggestions contém a lista de segmentos (pivôs) nos quais a consulta original foi dividida. Para cada ponto de referência, a resposta contém uma lista de objetos Query que contêm consultas sugeridas. O campo text contém a consulta sugerida. O campo displayText contém o termo que substitui o pivô da consulta original. Um exemplo é a Data de Lançamento do Surface.

Se a cadeia de caracteres de consulta dinâmica for o que o usuário está procurando, use os campos text e thumbnail para exibir as cadeias de caracteres de consulta dinâmica. Torne a miniatura e o texto clicáveis usando o URL webSearchUrl ou o URL searchLink. Use webSearchUrl para enviar o usuário para os resultados de pesquisa do Bing. Se fornecer a sua própria página de resultados, use searchLink.

Expandir a consulta

Se o Bing puder expandir a consulta para restringir a pesquisa original, o objeto Imagens conterá o campo queryExpansions. Por exemplo, se a consulta foi Microsoft Surface, as consultas expandidas podem ser:

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

O exemplo a seguir mostra as consultas expandidas para 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
}

O campo queryExpansions contém uma lista de objetos Query. O campo text contém a consulta expandida. O campo displayText contém o termo de expansão. Se a cadeia de caracteres de consulta expandida for o que o usuário está procurando, use os campos text e thumbnail para exibir as cadeias de caracteres de consulta expandidas. Torne a miniatura e o texto clicáveis usando o URL webSearchUrl ou o URL searchLink. Use webSearchUrl para enviar o usuário para os resultados de pesquisa do Bing. Se fornecer a sua própria página de resultados, use searchLink.

Limitar pedidos

O serviço e o tipo de assinatura determinam o número de consultas por segundo (QPS) que você pode fazer. Certifique-se de que a sua candidatura inclui a lógica para se manter dentro da sua quota. Se o limite QPS for atendido ou excedido, a solicitação falhará e um código de status HTTP 429 será retornado. A resposta inclui o cabeçalho Retry-After, que indica quanto tempo você deve esperar antes de enviar outra solicitação.

Negação de serviço versus controlo do fluxo

O serviço faz uma diferenciação entre um ataque de negação de serviço (DoS) e uma violação de QPS. Se o serviço suspeitar de um ataque DoS, a solicitação será bem-sucedida (o código de status HTTP é 200 OK). No entanto, o corpo da resposta está vazio.

Próximos passos

Se você ainda não tentou a API de Pesquisa de Imagens do Bing, tente um início rápido. Se você estiver procurando por algo mais complexo, experimente o tutorial para criar um aplicativo Web de página única.