Compartilhar via


Personalizar e sugerir consultas de pesquisa de imagem

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram migradas 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, consulte a documentação da API de pesquisa do 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 por meio do Azure Marketplace.

Use este artigo para aprender a personalizar consultas e sugerir termos de pesquisa para enviar para a API de Pesquisa de Imagem do Bing.

Sugerir termos de pesquisa

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

Dinamizar a consulta

Se o Bing conseguir segmentar a consulta de pesquisa original, o objeto Imagens contém pivotSuggestions. Dinamizar sugestões pode ser exibido como termos de pesquisa opcional para o usuário. Por exemplo, se a consulta original foi Microsoft Surface, o Bing pode segmentar a consulta entre Microsoft e Surface e fornecer pivôs sugeridos para cada um. Essas sugestões podem ser exibidas como termos de pesquisa opcionais para o usuário.

O seguinte exemplo mostra as sugestões de pivô para o 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 (dinâmicas) em que a consulta original foi dividida. Para cada tipo de dinâmica, a resposta contém uma lista de objetos de Consulta que contem consultas sugeridas. O text campo contém a consulta sugerida. O campo displayText contém a consulta sugerida, e o campo contém o termo que substitui a dinâmica na consulta original. Por exemplo, data de lançamento do Surface.

Se a cadeia de caracteres de consulta dinâmica é o que o usuário está procurando, use o text e thumbnail cadeias de caracteres de consulta de campos a serem exibidas na dinamização. Tornar o texto e a miniatura clicável usando a webSearchUrl URL ou a searchLink URL. Use webSearchUrl para enviar o usuário para os resultados da pesquisa do Bing. Se você fornecer sua própria página de resultados, use searchLink.

Expanda a consulta

Se o Bing conseguir expandir a consulta para restringir a pesquisa original, o objeto Imagens contém 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 do 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 de Consulta. O campo text contém a consulta sugerida. O campo displayText contém ao termo de expansão. Se a cadeia de caracteres de consulta expandida é o que o usuário está procurando, use os campos text e thumbnail para exibir as cadeias de caracteres de consulta expandida. Tornar o texto e a miniatura clicável usando a webSearchUrl URL ou a searchLink URL. Use webSearchUrl para enviar o usuário para os resultados da pesquisa do Bing. Se você fornecer sua própria página de resultados, use searchLink.

Solicitações de limitação

O serviço e o seu tipo de subscrição determinam o número de consultas por segundo (QPS) que você pode efetuar. Verifique se seu aplicativo inclui a lógica para permanecer dentro da sua cota. Se o limite de QPS for atingido 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 o quanto você deve aguardar antes de enviar outra solicitação.

Negação de serviço versus limitação

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

Próximas etapas

Se você ainda não experimentou a API de Pesquisa de Imagem do Bing, experimente seguir um início rápido. Se estiver procurando algo mais complexo, experimente seguir o tutorial para a criação de um aplicativo Web de página única.