Cómo importar datos de autocompletar para la búsqueda

La función de autocompletar es una función que predice el resto de la palabra que un usuario escribe, lo que puede mejorar su experiencia de búsqueda. Puede proporcionar sugerencias antes de que se escriban en función del conjunto de datos proporcionado o en función de los eventos de usuario que proporcionaste.

Considera importar datos de autocompletado solo si deseas tener controles adicionales (lista de No quitar, Lista de bloqueo) o si necesitas usar tus propios datos de autocompletado. Activar el aprendizaje automático es suficiente para la mayoría de los casos en los que se necesita el autocompletado. El aprendizaje automático proporciona un conjunto de datos de sugerencias con tecnología de aprendizaje automático basado en eventos de búsqueda de los usuarios. Consulta Autocompletar para saber cómo activar el aprendizaje automático.

Estas instrucciones son solo para subir tus propios datos de autocompletado. Mantenlo actualizado si planeas usar tu conjunto de datos de autocompletado todo el tiempo. Para obtener resultados de autocompletado en el momento de la consulta, consulta CompletionService.CompleteQuery. Los datos de Autocomplete se usan solo para Retail Search. Recomendaciones no usa estos datos.

Antes de comenzar

Para poder importar la información de autocompletado, debes completar las instrucciones que se indican en Antes de comenzar, específicamente cómo configurar tu proyecto, cómo crear una cuenta de servicio y cómo agregarla a tu entorno local.

Debes tener el rol de IAM de Editor de venta minorista para realizar la importación.

Prácticas recomendadas para la importación de autocompletar

Cuando importes datos de autocompletado, asegúrate de implementar las siguientes prácticas recomendadas:

  • Lee el esquema de BigQuery que se muestra en las siguientes secciones y la documentación de la API.

  • No uses valores de marcador de posición.

  • Incluye tantos campos como sea posible.

  • Mantén tu propio conjunto de datos de autocompletado actualizado si planeas usar tu propio conjunto de datos subido.

  • No se permite importar datos de otro proyecto.

Importar datos de autocompletar

Importa datos de autocompletar desde BigQuery

Retail admite la importación de datos de BigQuery para listas de bloqueo, lista de no quitar y lista de términos de sugerencias. Obtén más detalles en Autocompletar.

Para importar datos de autocompletado en el formato correcto desde BigQuery, usa el esquema de autocompletado de Retail para crear una tabla de BigQuery con el formato correcto y cargar la tabla con tus datos de autocompletado. Luego, sube tus datos a la venta minorista.

Para obtener más ayuda con las tablas de BigQuery, consulta Introducción a las tablas. Para obtener ayuda con las consultas de BigQuery, consulta Descripción general de las consultas de datos de BigQuery.

Ubicación del conjunto de datos de BigQuery

Cuando crees el conjunto de datos de BigQuery por primera vez para tus tablas de BigQuery de autocompletado, asegúrate de que la ubicación del conjunto de datos esté establecida en la ubicación multirregional "US". Si no la configuras correctamente, tu solicitud de importación fallará más adelante. Para obtener más información sobre las ubicaciones de los conjuntos de datos de BigQuery, consulta Ubicaciones de los conjuntos de datos en la documentación de BigQuery.

Propaga datos en BigQuery

Usa el esquema de autocompletado de Retail para subir tus datos de autocompletado a BigQuery.

BigQuery puede usar el esquema para validar si los datos con formato JSON tienen nombres y tipos de campo correctos (como STRING, INTEGER y RECORD), pero no pueden realizar validaciones, como la determinación:

  • Si un campo de string se asignó a un valor de enumeración reconocible.
  • Si un campo de string usa el formato correcto.
  • Si un campo de número entero o flotante tiene valor en un rango válido.
  • Si un campo faltante es un campo obligatorio.

Para garantizar la calidad de tus datos y la experiencia de búsqueda del usuario final, asegúrate de consultar el esquema y la documentación de referencia para obtener detalles sobre los valores y formatos.

Configura el acceso a tu conjunto de datos de BigQuery

Para configurar el acceso, asegúrate de que tu conjunto de datos de BigQuery esté en el mismo proyecto que tu servicio de venta minorista y completa los siguientes pasos.

  1. Abre la página de IAM en la consola de Google Cloud.

    Abrir la página IAM

  2. Selecciona tu proyecto de venta minorista.

  3. En la página IAM y administración, haz clic en  Otorgar acceso.

  4. En Principales nuevas, ingresa cloud-retail-customer-data-access@system.gserviceaccount.com y selecciona el rol BigQuery > Visualizador de datos de BigQuery.

    Si no deseas proporcionar la función de Lector de datos a todo el proyecto, puedes agregar esta función directamente al conjunto de datos. Obtener más información.

  5. Haz clic en Guardar.

Activa la importación de datos a Retail

Console

  1. Ir a la página Controles

  2. Ve a la pestaña Controles de autocompletado.

  3. En la sección Listas de términos, busca el tipo de lista que planeas importar (Lista de bloqueo, Lista de No quitar o Lista de términos sugeridos) y haz clic en Importar o Reemplazar.

    Se abrirá el panel Importar (Import).

  4. Ingresa la ruta de acceso de BigQuery de la ubicación de tus datos o selecciona Explorar para elegir la ubicación.

    La ruta de BigQuery debe estar en el mismo proyecto y su esquema debe ser correcto. Para verificar esto, haz clic en Explorar y, luego, en el nombre de la tabla a fin de ver el contenido en la consola de BigQuery.

  5. En el panel Import, haz clic en Import.

    Comienza la importación. Puedes salir de la página sin interrumpir la importación.

cURL

  1. Crea un archivo de datos para los parámetros de entrada de la importación. Los valores de tus parámetros de entrada dependen de si importas desde Cloud Storage o BigQuery.

    Usa el objeto BigQuerySource para apuntar a tu conjunto de datos de BigQuery.

    • dataset-id: el ID del conjunto de datos de BigQuery.
    • table-id: el ID de la tabla de BigQuery que contiene tus datos.
    • data-schema: Para la propiedad dataSchema, usa el valor suggestions (predeterminado), allowlist y denylist. Usa el esquema de autocompletado de Retail.
    {
      "inputConfig":{
        "bigQuerySource": {
          "datasetId":"dataset-id",
          "tableId":"table-id",
          "dataSchema":"data-schema"
        }
      }
    }
    
  2. Importa tu información de autocompletado a Retail mediante una solicitud POST al método CompletionData:import de REST y proporciona el nombre del archivo de datos (se muestra como input.json en el siguiente ejemplo).

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" -d @./input.json
    "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionData:import"
    

    Puedes verificar el estado de manera programática mediante la API. Deberías recibir un objeto de respuesta similar al siguiente:

    {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/123456",
      "done": false
    }
    

    El campo de nombre es el ID del objeto de operación. Para solicitar el estado de este objeto, reemplaza el campo de nombre con el valor que muestra el método de importación. Cuando finaliza la importación, el campo done se muestra como true:

    curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/123456"
    

    Cuando se completa la operación, el objeto que se muestra tiene un valor done de true y, además, incluye un objeto de estado similar al siguiente ejemplo:

    {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/123456",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ImportMetadata",
        "createTime": "2020-01-01T03:33:33.000001Z",
        "updateTime": "2020-01-01T03:34:33.000001Z",
        "successCount": "2",
        "failureCount": "1"
      },
      "done": true
      "response": {
        "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ImportCompletionDataResponse",
      }
    }
    

Autocompletar formato de datos

Tu archivo JSON debería verse como los siguientes ejemplos: Los saltos de línea son para facilitar la lectura; debes proporcionar una sugerencia completa en una sola línea. Cada sugerencia debe estar en su propia línea.

Campos obligatorios mínimos de las sugerencias:

{
  "suggestion": "ABC",
  "globalScore": "0.5"
}

Como alternativa, puedes hacer lo siguiente:

{
  "suggestion": "ABC",
  "frequency": "100"
}

Duración de la importación de datos en Autocomplete

Por lo general, una importación de BigQuery tarda entre unos minutos y una hora en completarse.

Cuando finaliza la importación del conjunto de datos, el campo done del objeto de operación se marca como verdadero. Después de eso, pueden transcurrir entre 1 y 2 días adicionales hasta que se indexen los datos y se usen en la entrega de producción.

Mantén actualizado tu conjunto de datos de autocompletado

Si planeas usar tu propio conjunto de datos subido, se recomienda mantenerlo actualizado con regularidad.

Actualización por lotes

Puedes usar el método de importación para actualizar por lotes tu autocompletado. Hazlo de la misma manera en que haces la importación inicial; sigue los pasos que se indican en Cómo importar datos de autocompletado. Esto reemplazará todo el conjunto de datos importado.

Supervisa el estado de la importación

Mantener actualizado tu conjunto de datos es importante para obtener resultados de sugerencias de alta calidad cuando los uses. Debes supervisar las tasas de error de importación y tomar medidas si es necesario.

Esquema de autocompletado para venta minorista

Cuando importes un conjunto de datos de autocompletado desde BigQuery, usa el esquema de Retail que se indica a continuación para crear tablas de BigQuery con el formato correcto y cargarlas con tus datos de autocompletado.

Esquema para sugerencias

Este conjunto de datos se usa para proporcionar tus propias frases de sugerencias de autocompletado con tus propias puntuaciones.

Esquema para la lista de bloqueo

Este conjunto de datos se usa como una lista de bloqueo para evitar que se sugieran frases.

Esquema para la lista de entidades permitidas

Este conjunto de datos se usa para omitir procesos de publicación (como la corrección ortográfica y el filtrado de resultados cero) para todas las frases de esta lista de entidades permitidas.