Personalizar e sugerir consultas de pesquisa de imagens
Aviso
A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja 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, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.
Utilize este artigo para saber como personalizar consultas e sugerir termos de pesquisa para enviar para a API de Pesquisa de Imagens do Bing.
Sugerir termos de pesquisa
Se a sua aplicação tiver uma caixa de pesquisa onde os termos de pesquisa são introduzidos, pode utilizar a API de Sugestão Automática do Bing para melhorar a experiência. A API pode apresentar termos de pesquisa sugeridos em tempo real. A API devolve cadeias de consulta sugeridas com base em termos de pesquisa parciais e serviços de IA do Azure.
Dinamizar a consulta
Se o Bing conseguir segmentar a consulta de pesquisa original, o objeto Imagens devolvido contém pivotSuggestions
. As sugestões dinâmicas podem ser apresentadas como termos de pesquisa opcionais para o utilizador. Por exemplo, se a consulta original fosse o Microsoft Surface, o Bing poderia segmentar a consulta na Microsoft e no Surface e fornecer pivôs sugeridos para cada um. Estas sugestões podem ser apresentadas como termos de consulta opcionais para o utilizador.
O exemplo seguinte mostra as sugestões dinâmicas 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 (pivôs) em que a consulta original foi dividida. Para cada pivô, a resposta contém uma lista de objetos de Consulta que contêm as consultas sugeridas. O text
campo contém a consulta sugerida. O displayText
campo contém o termo que substitui o pivô na consulta original. Um exemplo é a Data de Lançamento do Surface.
Se a cadeia de consulta dinâmica for o que o utilizador procura, utilize os text
campos e thumbnail
para apresentar as cadeias de consulta dinâmica. Torne a miniatura e o texto clicáveis com o webSearchUrl
URL ou o searchLink
URL. Utilize webSearchUrl
para enviar o utilizador para os resultados da pesquisa do Bing. Se fornecer a sua própria página de resultados, utilize searchLink
.
Expandir a consulta
Se o Bing puder expandir a consulta para restringir a pesquisa original, o objeto Imagens contém o campo queryExpansions
. Por exemplo, se a consulta for o Microsoft Surface, as consultas expandidas poderão ser:
- Microsoft Surface Pro 3.
- Microsoft Surface RT.
- Microsoft Surface Phone.
- Microsoft Surface Hub.
O exemplo seguinte 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 de Consulta. O text
campo contém a consulta expandida. O displayText
campo contém o termo de expansão. Se a cadeia de consulta expandida for o que o utilizador procura, utilize os text
campos e thumbnail
para apresentar as cadeias de consulta expandidas. Torne a miniatura e o texto clicáveis com o webSearchUrl
URL ou o searchLink
URL. Utilize webSearchUrl
para enviar o utilizador para os resultados da pesquisa do Bing. se fornecer a sua própria página de resultados, utilize searchLink
.
Limitar pedidos
O serviço e o seu tipo de subscrição determinam o número de consultas por segundo (QPS) que pode fazer. Certifique-se de que a sua aplicação inclui a lógica necessária para se manter na sua quota. Se o limite de QPS for atingido ou excedido, o pedido falha e é devolvido um código de estado HTTP 429. A resposta inclui o cabeçalho Retry-After
, que indica o tempo que tem de esperar antes de poder enviar outro pedido.
Denial of service versus Limitação
O serviço diferencia entre um ataque denial of service (DoS) e uma violação de QPS. Se o serviço suspeitar de um ataque DoS, o pedido é realizado com êxito (o código de estado HTTP é 200 OK). No entanto, o corpo da resposta está vazio.
Passos seguintes
Se ainda não experimentou a API de Pesquisa de Imagens do Bing, experimente um início rápido. Se estiver à procura de algo mais complexo, experimente o tutorial para criar uma aplicação Web de página única.