Personalize e sugira consultas de pesquisa de imagemCustomize and suggest image search queries

Use este artigo para aprender a personalizar consultas e sugerir termos de pesquisa para enviar para a API de Pesquisa de Imagem Bing.Use this article to learn how to customize queries and suggest search terms to send to the Bing Image Search API.

Sugerir termos de pesquisaSuggest search terms

Se a sua aplicação tiver uma caixa de pesquisa onde os termos de pesquisa são introduzidos, pode utilizar a API Bing Autosuggest para melhorar a experiência.If your app has a search box where search terms are entered, you can use the Bing Autosuggest API to improve the experience. A API pode apresentar termos de pesquisa sugeridos em tempo real.The API can display suggested search terms in real time. A API retorna sugeriu cordas de consulta baseadas em termos de pesquisa parcial e serviços cognitivos.The API returns suggested query strings based on partial search terms and Cognitive Services.

Pivô da consultaPivot the query

Se bing pode segmentar a consulta de pivotSuggestionspesquisa original, o objeto imagens retornados contém .If Bing can segment the original search query, the returned Images object contains pivotSuggestions. As sugestões de pivô podem ser apresentadas como termos de pesquisa opcionais para o utilizador.Pivot suggestions can be displayed as optional search terms to the user. Por exemplo, se a consulta original fosse o Microsoft Surface, o Bing poderia segmentar a consulta para a Microsoft e o Surface e fornecer pivôs sugeridos para cada um.For example, if the original query was Microsoft Surface, Bing might segment the query into Microsoft and Surface and provide suggested pivots for each. Estas sugestões podem ser apresentadas como termos de consulta opcionais ao utilizador.These suggestions can be displayed as optional query terms to the user.

O exemplo que se segue mostra as sugestões de pivô para o Microsoft Surface:The following example shows the pivot suggestions for 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.The pivotSuggestions field contains the list of segments (pivots) that the original query was broken into. Para cada pivô, a resposta contém uma lista de objetos de Consulta que contêm as consultas sugeridas.For each pivot, the response contains a list of Query objects that contain suggested queries. O text campo contém a consulta sugerida.The text field contains the suggested query. O displayText campo contém o termo que substitui o pivô na consulta original.The displayText field contains the term that replaces the pivot in the original query. Um exemplo é data de lançamento da superfície.An example is Release Date of Surface.

Se a corda de consulta de pivô é text thumbnail o que o utilizador procura, use os campos e os campos para exibir as cordas de consulta de pivô.If the pivot query string is what the user is looking for, use the text and thumbnail fields to display the pivot query strings. Faça a miniatura e o webSearchUrl texto clicáveis utilizando o URL ou o searchLink URL.Make the thumbnail and text clickable by using the webSearchUrl URL or the searchLink URL. Utilize webSearchUrl para enviar o utilizador para os resultados de pesquisa do Bing.Use webSearchUrl to send the user to the Bing search results. Se fornecer a sua própria searchLinkpágina de resultados, utilize .If you provide your own results page, use searchLink.

Expandir a consultaExpand the query

Se o Bing puder expandir a consulta para restringir a pesquisa original, o objeto Imagens contém o campo queryExpansions.If Bing can expand the query to narrow the original search, the Images object contains the queryExpansions field. Por exemplo, se a consulta fosse o Microsoft Surface, as consultas expandidas poderiam ser:For example, if the query was Microsoft Surface, the expanded queries might be:

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

O exemplo seguinte mostra as consultas expandidas para Microsoft Surface.The following example shows the expanded queries for 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.The queryExpansions field contains a list of Query objects. O text campo contém a consulta expandida.The text field contains the expanded query. O displayText campo contém o termo de expansão.The displayText field contains the expansion term. Se a cadeia de consulta expandida é o text que thumbnail o utilizador procura, use os campos e os campos para exibir as cordas de consulta expandidas.If the expanded query string is what the user is looking for, use the text and thumbnail fields to display the expanded query strings. Faça a miniatura e o webSearchUrl texto clicáveis utilizando o URL ou o searchLink URL.Make the thumbnail and text clickable by using the webSearchUrl URL or the searchLink URL. Utilize webSearchUrl para enviar o utilizador para os resultados de pesquisa do Bing.Use webSearchUrl to send the user to the Bing search results. se fornecer a sua própria searchLinkpágina de resultados, use .if you provide your own results page, use searchLink.

Limitar pedidosThrottling requests

O serviço e o seu tipo de subscrição determinam o número de consultas por segundo (QPS) que pode fazer.The service and your subscription type determine the number of queries per second (QPS) that you can make. Certifique-se de que a sua aplicação inclui a lógica necessária para se manter na sua quota.Make sure your application includes the logic to stay within your quota. Se o limite de QPS for atingido ou excedido, o pedido falha e é devolvido um código de estado HTTP 429.If the QPS limit is met or exceeded, the request fails and an HTTP 429 status code is returned. A resposta inclui o cabeçalho Retry-After, que indica o tempo que tem de esperar antes de poder enviar outro pedido.The response includes the Retry-After header, which indicates how long you must wait before sending another request.

Denial of service versus LimitaçãoDenial-of-service versus throttling

O serviço diferencia entre um ataque denial of service (DoS) e uma violação de QPS.The service makes a differentiation between a denial-of-service (DoS) attack and a QPS violation. Se o serviço suspeitar de um ataque DoS, o pedido é realizado com êxito (o código de estado HTTP é 200 OK).If the service suspects a DoS attack, the request succeeds (HTTP status code is 200 OK). No entanto, o corpo da resposta está vazio.However, the body of the response is empty.

Passos seguintesNext steps

Se ainda não experimentou a API de Pesquisa de Imagem bing antes, tente um arranque rápido.If you haven't tried the Bing Image Search API before, try a quickstart. Se procura algo mais complexo, experimente o tutorial para criar uma aplicação web de uma página única.If you're looking for something more complex, try the tutorial to create a single-page web app.