Autocompletar para la búsqueda

En esta página, se presenta la función de autocompletar y cómo usarla. La Búsqueda proporciona autocompletar para las sugerencias de escritura anticipada del cuadro de búsqueda.

Completar automáticamente es una función para predecir el resto de una consulta que escribe un usuario, lo que puede mejorar la experiencia de búsqueda de usuario y acelerar el proceso de compra antes de la confirmación. También puede mejorar la calidad de la respuesta de búsqueda y, por lo tanto, generar más ingresos proporcionando consultas bien formateadas.

Descripción general

Cuando un usuario final comienza a escribir un término de búsqueda en tu sitio, la Búsqueda puede proporcionar una lista de sugerencias que podría querer el usuario. Por ejemplo, zapatos y camisas pueden sugerirse cuando el usuario escribe ca.

Fuente de datos

Puedes elegir una de las siguientes fuentes de datos para tus predicciones de sugerencias:

  • Un conjunto de datos de BigQuery que subes
  • Un conjunto de datos que se genera a partir de eventos de usuario y otros metadatos con aprendizaje automático

Conjunto de datos subido

Una tabla de sugerencias de BigQuery que subes como un conjunto de datos, que se usa para sugerir consultas. Para obtener información sobre cómo subir un conjunto de datos, consulta Importa datos de autocompletar.

Conjunto de datos de aprendizaje automático

Un conjunto de datos de sugerencias potenciado por aprendizaje automático generado por la Búsqueda en función de los eventos de búsqueda de los usuarios.

Para habilitar el aprendizaje automático, haz lo siguiente:

Consola de Cloud

  1. Ir a la página Controles

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

  3. Haz clic en Editar la configuración.

  4. Activa Aprendizaje automático.

  5. Haz clic en Guardar configuración.

    El aprendizaje automático puede tardar de 1 a 2 días en actualizarse.

cURL

curl -X PATCH -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig?update_mask.paths=auto_learning"  --data "{auto_learning: true}"

Requisito previo del conjunto de datos de aprendizaje automático

El aprendizaje automático genera sugerencias a partir de eventos de usuario de tipo búsqueda (eventType = "search"). La generación usa los últimos 180 días de eventos de usuario. Requiere una buena calidad y cantidad de eventos de usuario importados.

El aprendizaje automático filtra las sugerencias poco frecuentes, por lo que, si la cantidad de eventos de usuario de tipo búsqueda es demasiado pequeña (menos de 20,000), es posible que se filtren muchos candidatos a sugerencias. En este caso, es posible que primero desees probar la función de autocompletar con una consulta de búsqueda más frecuente.

Programa de lanzamiento del conjunto de datos de aprendizaje automático

El conjunto de datos de aprendizaje automático se genera diariamente y, luego, se envía a la indexación y al lanzamiento. El ciclo completo tarda alrededor de dos días.

Funciones de aprendizaje automático

La Búsqueda aplica técnicas de aprendizaje automático para limpiar y formatear consultas y datos de sugerencias para el conjunto de datos de aprendizaje automático solamente.

Función Descripción Ejemplo
Quitar búsquedas sin resultados
  • Quita las consultas que no tienen resultados de la búsqueda.
Para el comercio minorista de comestibles, carteras Gucci tiene 0 resultados de la búsqueda, por lo que se quita.
Corregir errores tipográficos
  • Corrige la ortografía de las palabras que son errores tipográficos.
  • También limpia las consultas de entrada en tiempo real antes de la coincidencia.
MilcLeche
Agregar consultas a la lista de entidades permitidas
  • Se agregan las consultas que permites de forma explícita.
Consulta la sección Más información
Quitar consultas de la lista de bloqueo
  • Se quitan las consultas que bloqueas de forma explícita.
Consulta la sección Más información
Quitar términos no seguros
  • Usa la Búsqueda segura de Google.
  • Quita las consultas inapropiadas.
Contenido pornográfico, subido de tono, vulgar o violento
Quitar términos muy poco frecuentes
  • El sistema de IA ajusta el límite según las estadísticas de la consulta.
  • Si los términos son inusualmente poco frecuentes, se quitan.
Colchón de aire doble de 74 x 39 x 9 pulgadas con bomba manual de 120 V.
Anular los términos duplicados
  • Basado en la comprensión semántica potenciada por IA
  • Para términos casi idénticos coincidirá cualquiera de los términos, pero solo se sugerirá el más popular.
Zapatos para mujeres, calzado para mujer, y calzado para mujer se anulan, por lo que solo se sugerirá uno.

Obtén sugerencias de autocompletar

Usa la completeQuery API para recuperar las sugerencias.

Ejemplo:

cURL

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog:completeQuery?query=sho&dataset=user-data&deviceType=DESKTOP&maxSuggestions=5"

Implementa el filtrado en los resultados de las sugerencias

Cuando se usa el conjunto de datos cloud-retail, la Búsqueda de Commerce con IA puede mostrar atributos coincidentes, como marcas y categorías populares, junto con las sugerencias de texto estándar. Puedes usar estos attributeResults para enriquecer tu IU de autocompletar y permitir que los usuarios seleccionen una ruta de búsqueda prefiltrada.

Por ejemplo, si un usuario escribe zap, puedes mostrar la sugerencia de consulta zapatos junto con una sugerencia de filtro categorizada como en Nike o en Calzado para mujer.

Ejemplo de una respuesta de autocompletar con atributos filtrables

{
  "completionResults": [
    {
      "suggestion": "shoe",
      "attributes": {}
    }
  ],
  "attributeResults": {
    "brands": {
      "suggestions": ["Nike", "Adidas"]
    },
    "categories": {
      "suggestions": ["Shoes", "Women's Shoes"]
    }
  }
}

Cuando un usuario selecciona una de estas sugerencias enriquecidas con atributos (como zapatos en Nike), tu aplicación debe capturar tanto la consulta (zapatos) como el atributo (Nike) para aplicarlos como filtro en la siguiente llamada a la API de Search principal.

  • (Opcional) Filtrar las sugerencias en sí: Si necesitas filtrar o bloquear frases específicas para que no aparezcan en los resultados de las sugerencias de autocompletar, puedes importar un conjunto de datos denylist. Esto te permite aplicar un operador EXACT_MATCH o CONTAINS para bloquear las frases no deseadas y evitar que se sugieran al usuario.

Opciones y controles de autocompletar

En esta sección, se explica qué opciones y controles están disponibles para autocompletar. Consulta una descripción general en la siguiente tabla y más detalles.

Control Detalles Ubicación
Lista de bloqueo
  • Quita manualmente las consultas de los datos de sugerencias.
Solicitud a la API: CompletionData:import. Para obtener más información, consulta Importa datos de autocompletar.
Lista de entidades permitidas
  • Agrega manualmente consultas a los datos de sugerencias.
Solicitud a la API: CompletionData:import (consulta también Importa datos de autocompletar )
Duración mínima para activar el autocompletar
  • Controla la cantidad de caracteres antes de que se active el autocompletar.
Google Cloud consola > Controles
Orden coincidente
  • El orden coincidente determina cómo se hacen coincidir las consultas y las sugerencias de los usuarios.
Google Cloud consola > Controles
Recuento de sugerencias
  • Esta es la cantidad de sugerencias que se mostrarán desde el autocompletar.
Google Cloud consola > Controles o
Solicitud a la API: completeQuery.maxSuggestions
Tipo de dispositivo
  • Cuando se especifican los tipos de dispositivos, las sugerencias se generan en función de la popularidad de los tipos de dispositivos determinados.
  • Si no se especifica, se muestran sugerencias basadas en la popularidad combinada de todos los tipos de dispositivos.
Solicitud a la API: completeQuery.deviceType
Fuente de datos de sugerencias
  • Si tienes fuentes de datos generadas automáticamente y subidas, puedes elegir cuál usar en el momento de la consulta.
Solicitud a la API: completeQuery.dataset
Idioma
  • Puedes especificar en qué idioma o idiomas se encuentran las sugerencias.
Solicitud a la API: completeQuery.languageCodes[]

Lista de entidades permitidas (lista de no quitar)

La Búsqueda realiza un procesamiento posterior, como la corrección ortográfica, en los datos de sugerencias de autocompletar. Puedes crear una lista de términos permitidos que la Búsqueda omite durante el procesamiento posterior.

Los términos permitidos nunca se filtran de las sugerencias. La lista de entidades permitidas funciona para los conjuntos de datos subidos y el conjunto de datos de aprendizaje automático.

Ejemplos: hay algunos nombres de marcas intencionalmente mal escritos, como “froot loops” en lugar de “fruit” o “foot”. Consulta las instrucciones detalladas sobre la carga en los datos de finalización de la importación.

Para la importación de datos, puedes usar Google Cloud consola > Controles > Controles de autocompletar > Lista de no quitar o usar CompletionData:import en la API.

Los cambios entran en vigor en aproximadamente 2 días.

Lista de bloqueo

La lista de bloqueo solo funciona para conjuntos de datos de aprendizaje automático. No funciona para conjuntos de datos subidos.

Los términos de una lista de bloqueo nunca aparecen en sugerencias.

Para importar una lista de bloqueo, puedes usar Google Cloud consola > Controles > Controles de autocompletar > Lista de bloqueo o usar la API CompletionData:import. Para obtener instrucciones detalladas sobre cómo importar una lista de bloqueo, consulta los datos de finalización de la importación.

Los cambios entran en vigor en aproximadamente 2 días.

Duración mínima para activar

Puedes configurar la cantidad de caracteres requeridos para que las consultas de autocompletar muestren resultados. El parámetro se encuentra en Google Cloud consola > Controles > Controles de autocompletar > Duración mínima para activar.

Los cambios se aplicarán de inmediato.

Orden coincidente

Esto determina cómo hacer coincidir las sugerencias con los términos de entrada del usuario.

Cuando se establece en La sugerencia comienza con el término, el autocompletar hace coincidir el término de entrada del usuario como un prefijo exacto para las sugerencias. Por ejemplo, la entrada del usuario "ca" coincide con las sugerencias "camisas" y "carteras", pero no con la sugerencia "camisas rojas".

Cuando se establece en La sugerencia puede comenzar desde cualquier parte del término, el autocompletar tokeniza el término de entrada del usuario en palabras y lo hace coincidir con las palabras de las sugerencias, independientemente del orden de las palabras. Por ejemplo, el término de entrada del usuario "rojas ca" coincide con las sugerencias "camisas rojas", "zapatos rojos" y "zapatos rojos para niños". Sin embargo, el término de entrada "misas" no coincide con estas sugerencias, ya que ninguna de las palabras de las sugerencias comienza con "misas".

El parámetro se encuentra en Google Cloud consola > Controles > Controles de autocompletar > Orden coincidente.

Los cambios se aplicarán de inmediato.

Recuento de sugerencias

Esta es la cantidad de sugerencias que se mostrarán desde las consultas de autocompletar y no puede superar las 20. El parámetro se encuentra en Google Cloud consola > Controles > Controles de autocompletar > Recuento de sugerencias o se puede configurar en completeQuery.

Los cambios se aplicarán de inmediato.

Tipo de dispositivo

El autocompletar de la Búsqueda admite diferentes tipos de dispositivos, como mobile y desktop. Puedes subir o recibir sugerencias diferentes según los tipos de dispositivo. Si no se especifica deviceType en completeQuery, la sugerencia será para todos los tipos de dispositivos.

Para un conjunto de datos de aprendizaje automático basado en eventos de usuario de búsqueda, configura user_agent en UserEvent.user_info para admitir diferentes tipos de dispositivos. Consulta usuario-agente en wiki.

Funciones avanzadas

En esta sección, se describen las funciones avanzadas de autocompletar disponibles con la Búsqueda. Por ejemplo, puedes complementar las sugerencias de autocompletar de consultas con otras sugerencias, como marcas y categorías.

Estas funciones avanzadas solo están disponibles para conjuntos de datos de aprendizaje automático.

FeatureSet de sugerencias

Proporcionamos un FeatureSet adicional para cada término de sugerencia de consulta para permitir que los clientes muestren funciones avanzadas en sus sitios web.

El FeatureSet aparece en la respuesta como un mapa de valores clave. La Búsqueda de Commerce con IA muestra hasta cinco categorías y marcas populares relacionadas con cada sugerencia de consulta en la completeQuery.completionResults.attributes respuesta de la API. Las sugerencias de FeatureSet no tienen que coincidir con las cadenas de consulta que ingresa el usuario final.

Puedes usar el FeatureSet en la respuesta para enriquecer las sugerencias de búsqueda. Por ejemplo:

  • Agrega y crea secciones de Marcas populares y Categorías populares que aparecen debajo de la lista de sugerencias de búsqueda.
  • Muestra la marca o categoría más popular junto a los términos de sugerencias de búsqueda.

Después de realizar cambios en el catálogo, como cambiar las categorías de los productos, espera de dos semanas a 30 días hasta que las sugerencias de FeatureSet reflejen los cambios en el catálogo de productos. Este tiempo de espera se debe a que el aprendizaje automático se entrena en los últimos 30 días de datos de eventos de búsqueda.

Sugerencias de atributos

La Búsqueda proporciona sugerencias de atributos que coinciden con las cadenas de entrada del usuario. Los tipos de sugerencias de atributos admitidos son marcas y categorías.

Las sugerencias de atributos difieren de un FeatureSet de sugerencias. Las sugerencias de atributos son listas de atributos de productos sugeridos (como marcas y categorías), de manera similar a como las sugerencias de consultas son listas de consultas sugeridas. Las sugerencias de atributos se pueden usar independientemente de las sugerencias de consultas. Un FeatureSet de sugerencias son metadatos para una sugerencia de consulta y, por lo tanto, depende de las sugerencias de consultas.

Para habilitar las sugerencias de atributos, aplica un parche a completionConfig configurando enableAttributeSuggestions como verdadera.

cURL

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig?updateMask=enable_attribute_suggestions" \
-d '{ "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig", "enableAttributeSuggestions": "true" }'

Las sugerencias de atributos se pueden usar para autocompletar marcas o categorías que escribe un usuario final, en secciones separadas debajo de la lista de sugerencias de búsqueda. Los resultados se muestran en el campo attributeResults de la respuesta completeQuery, como se muestra en este ejemplo con las claves brands y categories:

cURL

{
"completionResults": [
{
  "suggestion": "shoe",
  "attributes": {}
}
],
"attributionToken": "example_attribution_token",
"attributeResults": {
"brands": {
  "suggestions": [
    "Nike",
    "Adidas"
  ]
},
"categories": {
  "suggestions": [
    "Shoes",
    "Men's Shoes"
  ]
}
}
}

Faceta de sugerencias con recuentos de productos

Cuando se habilita la función de faceta de sugerencias con recuento de productos, el completeQuery.completionResults proporciona una lista de sugerencias de autocompletar como de costumbre, pero también recuentos de productos para cada sugerencia con el recuento total y el recuento de productos por faceta (como color, category).

Por ejemplo, si la consulta de búsqueda es "zapatos", las sugerencias de autocompletar que se muestran podrían ser las siguientes:

  • zapatos para mujer
  • zapatos para hombre

Además, si la clave de faceta de interés es color, también se muestra un recuento de productos y un recuento de productos por color con cada sugerencia de autocompletar:

  • zapatos para mujer (32)
    • negro (10)
    • topo (16)
    • blanco (10)
  • zapatos para hombre (43)
    • negro (10)
    • marrón (5)
    • verde (17)

Como comercio minorista, no necesitas presentar el recuento de productos al comprador, pero puedes decidir ordenar la lista de sugerencias en función del recuento de productos en lugar del orden que se muestra en completeQuery.completionResults. Por ejemplo, es posible que desees alentar a los compradores a que miren zapatos verdes para hombres haciendo que aparezcan en la parte superior del cuadro de sugerencias, aunque no sean el artículo más popular.

Por ejemplo:

{
  "completion_results": [{ 
    "suggestion": "womens shoes"
    "facets": [ 
      {
        "key": "color"
        "values": [ 
          {
            "value": "black"
            "count": 10
          }
          {
            "value": "taupe"
            "count": 16
          }
          {
            "value": "white"
            "count": 10
          }
        ]
      }
    ]
    "total_product_count": 32
  },
  (...)
  ],
}

La información del recuento de facetas aparece como una lista de Facets en completeQuery.completionResults.facets para cada consulta de búsqueda sugerida. Cada faceta tiene una FacetValues lista que contiene el recuento de productos por valor de faceta. El recuento total de productos para cada consulta de búsqueda sugerida se muestra en completeQuery.completionResults.totalProductCount.

Para activar y usar facetas de sugerencias con recuentos de productos durante al menos siete días, asegúrate de que, cuando uses la search API, incluyas la clave de faceta en FacetSpecs y search.searchRequest.facetSpecs. Especifica para qué FacetKeys deseas obtener recuentos de productos. Solo se permiten las facetas textual_fields.

Este tiempo de espera se debe a que la información de las facetas se calcula con los datos del historial de búsqueda de la semana anterior.

Las sugerencias que se muestran de la API de completeQuery contienen los recuentos de productos por faceta y por sugerencia.

Sugerencia filtrada por entidad

Las entidades te permiten filtrar las sugerencias de búsqueda de autocompletar. Una entidad puede ser un sitio web para una marca o región diferente. Quieres que el autocompletar refleje mejor el comportamiento de los usuarios que compran esa marca en particular o el sitio web regional. Para obtener más información sobre las entidades, consulta Entidades.

Ten en cuenta que el filtrado de entidades solo se aplicará a completion_results (relevante para UserEvent). Este filtro no se aplicará a attribute_results (relevante para Product). Por lo tanto, independientemente del valor de entity, attribute_results es el mismo.

Para incluir entidades en las sugerencias de autocompletar, haz lo siguiente:

  1. Incluye el campo entity en tus eventos de usuario de búsqueda (eventType = "search"). Para obtener información, consulta el ejemplo de objeto completo para el evento de usuario de búsqueda Search.

  2. Configura el campo entity en tu solicitud a la API de CompleteQuery para obtener sugerencias solo para esa entidad.

    La cadena de entidad en los eventos de usuario y las solicitudes a la API debe ser una coincidencia exacta. De lo contrario, el autocompletar muestra sugerencias vacías.

  3. Asegúrate de que la entidad (ya sea en eventos de usuario de búsqueda o solicitudes de autocompletar) tenga como máximo 256 caracteres. Si es más larga, se trunca a 256 caracteres cuando se procesan los eventos o las solicitudes, lo que genera un riesgo de falta de coincidencia.

Por lo general, se necesitan entre 30 y 90 días de datos de eventos de usuario para que la función de entidad pueda mostrar sugerencias de autocompletar óptimas.