Recibir resultados de búsqueda de aplicaciones multimedia

En esta página se muestra cómo previsualizar los resultados de búsqueda de aplicaciones multimedia mediante la consolaGoogle Cloud y cómo obtener resultados de búsqueda mediante la API.

Para implementar la aplicación de búsqueda, puedes crear un widget de búsqueda para añadirlo a tu página web o hacer llamadas a la API e integrarlas en tu página web o aplicación.

Acerca de los modos de búsqueda

Hay varios modos de consulta de búsqueda para aplicaciones multimedia:

  • Consultas completas: cuando los usuarios finales quieren buscar todo el término o la frase de búsqueda. Por ejemplo, en una aplicación de música en streaming, los usuarios escriben el título completo de la canción y la buscan de una vez. Esta es la forma de buscar preferida cuando se usa una interfaz de entrada que permite a los usuarios buscar de una vez, como la entrada de audio o la entrada de teclado.

    En las consultas completas, si la entrada incluye un error ortográfico, los usuarios esperan que se corrija.

    Este comportamiento es el mismo que el de la búsqueda de aplicaciones que no son multimedia (personalizadas). Consulta Obtener resultados de búsqueda de una aplicación con datos estructurados o no estructurados.

  • Consultas parciales (o de búsqueda mientras escribes): cuando los usuarios finales reciben dinámicamente un nuevo conjunto de resultados de búsqueda a medida que escriben cada letra. Por ejemplo, en una aplicación de música en streaming, los usuarios empiezan a escribir el nombre de la canción que están buscando y, con cada letra que escriben, los resultados de búsqueda se actualizan y se acotan de forma dinámica.

  • Modo automático: es una combinación de los modos completo y parcial. Con el modo automático, la búsqueda de contenido multimedia decide si devuelve los resultados de la consulta de forma parcial o completa.

    Para determinar la intención probable de los usuarios finales, la búsqueda de contenido multimedia analiza y pondera varias señales, como el número de letras introducidas, la velocidad de introducción y si la entrada es una entidad reconocida (por ejemplo, el nombre de un actor o una película).

Qué modo usar

El modo predeterminado de las consultas de búsqueda de contenido multimedia es el automático. Sin embargo, hay situaciones en las que puede que quieras anular el modo predeterminado y especificar el modo de consulta completo o parcial. Estos son algunos ejemplos de casos prácticos:

Situación Modo
Estás seguro de que las consultas de tus usuarios finales son consultas completas. Por ejemplo, tienes un cuadro de búsqueda que incluye una función Intro para marcar que la consulta se ha completado y el usuario pulsa Intro. Consultas completas
Estás seguro de que las consultas de tus usuarios finales son consultas parciales, es decir, esperan que la lista de resultados se actualice después de cada letra introducida. Consultas parciales
Ninguna de las situaciones anteriores. Permite que la búsqueda de contenido multimedia decida si devolver los resultados de la consulta como parciales o completos. Automático

Puedes previsualizar los resultados de búsqueda desde la Google Cloud consola u obtenerlos mediante la API. Para obtener resultados de búsqueda de una aplicación multimedia, sigue estos pasos:

Consola

Para usar la consola de Google Cloud para previsualizar la búsqueda de contenido multimedia y configurar un widget, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

    Aplicaciones de IA

  2. Haz clic en el nombre de la aplicación de búsqueda de contenido multimedia.

  3. Haz clic en Configurations (Configuraciones).

  4. Haz clic en la pestaña Interfaz de usuario.

  5. En la pestaña Interfaz de usuario, defina las opciones de Configuración general y Visualización de datos.

  6. En el panel Vista previa, empieza a escribir una consulta.

  7. Para guardar las configuraciones y que estén disponibles en la pestaña Integración, haz clic en Guardar y publicar.

REST

Usa el método engines.servingConfigs.search para obtener resultados de búsqueda de una aplicación multimedia:

  1. Busca el ID de tu aplicación. Si ya tienes el ID de tu aplicación, ve al siguiente paso.

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Ir a Aplicaciones

    2. En la página Aplicaciones, busca el nombre de tu aplicación y consulta su ID en la columna ID.

  2. Ejecuta el siguiente comando curl para obtener resultados de búsqueda mientras escribes.

    Todos los campos, excepto contentSearchSpec, se pueden usar junto con el campo searchAsYouTypeSpec. Para mayor claridad, los campos opcionales se han omitido del comando curl. Para obtener información sobre los campos opcionales, consulta Obtener resultados de búsqueda de una aplicación con datos estructurados o no estructurados.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "query": "QUERY",
    "searchAsYouTypeSpec": {"condition": "SPEC_CONDITION"}
    }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto de Google Cloud .
    • PROJECT_ID: el ID de tu proyecto de Google Cloud .
    • APP_ID: el ID de la aplicación de Vertex AI Search que quieres consultar.
    • QUERY: el texto de la consulta que se va a buscar.
    • SPEC_CONDITION: la especificación de búsqueda mientras escribes puede tener uno de los siguientes valores:

      • ENABLED: para consultas parciales
      • DISABLED: para consultas completas
      • AUTO: parcial o total, según se considere oportuno. Si dejas el campo SPEC_CONDITION vacío o no lo especificas, el modo de búsqueda predeterminado es AUTO.

    Ejemplo de comando y resultado parcial

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/my-project-123/locations/global/collections/default_collection/engines/my-app/servingConfigs/default_search:search" \
    -d '{
    "query": "Mission Impossible",
    "searchAsYouTypeSpec": {"condition": "DISABLED"}
    }'
    
    { "results": [ { "id": "189333", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/189333", "id": "189333", "structData": { "uri": "http://mytestdomain.movie/content/189333", "title": "Mission: Impossible - Fallout (2018)", "categories": [ "Action", "Adventure", "Thriller" ], "available_time": "2023-01-01T00:00:00Z", "media_type": "movie", "expire_time": "2033-01-01T00:00:00Z" } } }, { "id": "111781", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/111781", "id": "111781", "structData": { "media_type": "movie", "available_time": "2023-01-01T00:00:00Z", "uri": "http://mytestdomain.movie/content/111781", "title": "Mission: Impossible - Rogue Nation (2015)", "categories": [ "Action", "Adventure", "Thriller" ], "expire_time": "2033-01-01T00:00:00Z" } } }, ... { "id": "116507", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/116507", "id": "116507", "structData": { "uri": "http://mytestdomain.movie/content/116507", "categories": [ "Comedy" ], "media_type": "movie", "available_time": "2023-01-01T00:00:00Z", "title": "Mission London (2010)", "expire_time": "2033-01-01T00:00:00Z" } } } ], "totalSize": 5628, "attributionToken": "vgL0PQEKDAiZxMbCBhD2koiqAxIkNjg1MWM3OTUtMDAwMC0yOWVmLThhNzUtZDQzYTJjYzdiYmNmIgVNRURJQSpUtreMLa_WoTGs1qExwvCeFaOAlyKrtZwxxcvzF-7r6TGotZwxkPeyMI6RyTDPv-Iw1L_iMJvWty2Ovp0V1LKdFfHr6THs4K8tkvGsMJXxrDCY1rctMAFKEjB4OTYzYjdjNGE0ZGYwN2FhZlKUAXByb2plY3RzLzc1NjIwNjYwODQ3OS9sb2NhdGlvbnMvZ2xvYmFsL2NvbGxlY3Rpb25zL2RlZmF1bHRfY29sbGVjdGlvbi9lbmdpbmVzL3F1aWNrc3RhcnQtbWVkaWEtcmVjb21tZW5kXzE3NDUwMjUyMjYwNDMvc2VydmluZ0NvbmZpZ3MvZGVmYXVsdF9zZWFyY2g", "nextPageToken": "Y2YiJ2NjNmMhNDNk1SN3EGOtYWZ5ITLwADMw0CN5czYxUDO2QiGDI9kgzIEGIs1tmJCMIBM1IgC", "summary": {}, "queryExpansionInfo": {} }

Pasos siguientes