Compartir a través de


Personalización y sugerencia de consultas de búsqueda de imágenes

Advertencia

El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a Bing Search Services. Esta documentación solo se proporciona como referencia. Para obtener documentación actualizada, consulte la documentación de la API de búsqueda de Bing . Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para la búsqueda de Bing, consulte Creación de un recurso de Bing Search a través de Azure Marketplace.

Use este artículo para aprender a personalizar las consultas y sugerir términos de búsqueda para enviarlos a Bing Image Search API.

Sugerir términos de búsqueda

Si la aplicación tiene un cuadro de búsqueda en el que se especifican los términos de búsqueda, puede usar el Bing Autosuggest API para mejorar la experiencia. La API puede mostrar términos de búsqueda sugeridos en tiempo real. La API devuelve cadenas de consulta sugeridas basadas en términos de búsqueda parciales y servicios de Azure AI.

Modificar la consulta

Si Bing puede segmentar la consulta de búsqueda original, el objeto Images devuelto contiene pivotSuggestions. Las sugerencias dinámicas se pueden mostrar como términos de búsqueda opcionales para el usuario. Por ejemplo, si la consulta original fue Microsoft Surface, Bing podría segmentar la consulta en Microsoft y Surface y proporcionar sugerencias de pivote para cada una. Estas sugerencias se pueden mostrar como términos de consulta opcionales para el usuario.

En el ejemplo siguiente se muestran las sugerencias de pivote 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
}

El campo pivotSuggestions contiene la lista de segmentos (pivots) en los que se ha dividido la consulta original. Para cada pivote, la respuesta contiene una lista de objetos Consulta que contienen consultas sugeridas. El campo text contiene la consulta sugerida. El campo displayText contiene el término que reemplaza el pivote en la consulta original. Un ejemplo es Fecha de lanzamiento de Surface.

Si la cadena de consulta dinámica es la que busca el usuario, use los campos text y thumbnail para mostrar las cadenas de consulta dinámica. Haga que la miniatura y el texto se puedan hacer clic mediante la dirección URL de webSearchUrl o la dirección URL de searchLink. Use webSearchUrl para enviar al usuario a los resultados de búsqueda de Bing. Si proporciona su propia página de resultados, use searchLink.

Expandir la consulta

Si Bing puede expandir la consulta para restringir la búsqueda original, el objeto Images contiene el campo queryExpansions. Por ejemplo, si la consulta se Microsoft Surface, las consultas expandidas podrían ser:

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

En el ejemplo siguiente se muestran las 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
}

El campo queryExpansions contiene una lista de objetos de consulta de. El campo text contiene la consulta expandida. El campo displayText contiene el término de expansión. Si la cadena de consulta expandida es la que busca el usuario, use los campos text y thumbnail para mostrar las cadenas de consulta expandidas. Haga que la miniatura y el texto se puedan hacer clic mediante la dirección URL de webSearchUrl o la dirección URL de searchLink. Use webSearchUrl para enviar al usuario a los resultados de búsqueda de Bing. Si proporciona su propia página de resultados, use searchLink.

Solicitudes de limitación

El servicio y el tipo de suscripción determinan el número de consultas por segundo (QPS) que puede realizar. Asegúrese de que la aplicación incluye la lógica para permanecer dentro de la cuota. Si se cumple o supera el límite de QPS, se produce un error en la solicitud y se devuelve un código de estado HTTP 429. La respuesta incluye el encabezado Retry-After, que indica cuánto tiempo debe esperar antes de enviar otra solicitud.

Denegación de servicio frente a limitación de servicio

El servicio hace una diferenciación entre un ataque por denegación de servicio (DoS) y una infracción de QPS. Si el servicio sospecha un ataque DoS, la solicitud se realiza correctamente (el código de estado HTTP es 200 OK). Sin embargo, el cuerpo de la respuesta está vacío.

Pasos siguientes

Si no ha probado Bing Image Search API antes, pruebe un inicio rápido de . Si busca algo más complejo, pruebe el tutorial para crear una aplicación web de página única .