Implementa el autocompletado

El autocompletado de Google Cloud Search ayuda a los usuarios sugiriendo palabras mientras escriben una búsqueda. Por ejemplo, las sugerencias pueden incluir palabras de títulos de documentos, operadores de búsqueda o nombres de tu organización de Google Workspace.

El autocompletado extrae frases de los títulos de los documentos indexados y usa un modelo n-grama para determinar las sugerencias con la API de Suggest. De forma predeterminada, el autocompletado muestra frases de los títulos de los documentos. También puedes marcar las propiedades del esquema de texto y enum como is_suggestable para autocompletar los nombres y valores de las propiedades.

La API de Suggest examina las búsquedas en busca de sugerencias de idioma, como inglés o español, y prioriza los resultados. El campo languageCode en una solicitud también mejora las sugerencias específicas del idioma.

Situación de ejemplo

Supongamos que tienes una fuente de datos que contiene datos de películas:

  • La fuente de datos contiene dos documentos.
  • Cada documento tiene un título (ItemMetadata.title) y dos propiedades: genre y characters.
  • Título del documento 1: "Avengers Infinity War"; genre=science fiction; characters=Iron Man, Hulk.
  • Título del documento 2: "Harry Potter"; genre=Adventure, Fantasy; characters=Hermione, Harry Potter.

En la Figura 1, se ilustra cómo el autocompletado extrae sugerencias.

Dos documentos y el n-grama resultante
Figura 1. Dos documentos y el n-grama resultante que se usa para el autocompletado

Del documento 1, el modelo extrae n-gramas (hasta trigramas) como "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War" y "Avengers Infinity War". Del documento 2, se generan "Harry", "Potter" y "Harry Potter".

Si un usuario escribe "h" cuando consulta esta fuente de datos, es posible que vea estas sugerencias:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Si el usuario selecciona "Hermione" y, luego, escribe "a", el autocompletado podría mostrar lo siguiente:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

El autocompletado intenta completar la última palabra o n-grama que se escribió. En este ejemplo, expande "a" a "adventure", "action" y "avengers" porque no hay texto indexado que comience con "hermione a". Esta es una sugerencia de cola.

El autocompletado de Cloud Search muestra un máximo de cinco sugerencias del contenido del documento y dos sugerencias de personas.

De forma predeterminada, el autocompletado muestra frases de los títulos de los documentos. Debes marcar de forma explícita las propiedades del esquema como is_suggestable para que la API de Suggest autocomplete los nombres y valores de las propiedades.

Integrar la API de Suggest

Si usas la aplicación de búsqueda predeterminada o el widget de búsqueda incorporable, Cloud Search admite el autocompletado de forma nativa. Recuerda marcar las propiedades del esquema como is_suggestable si quieres que se autocompleten.

Si compilas una aplicación de búsqueda personalizada, la función de autocompletado está disponible mediante el uso de los extremos de la API /query/suggest.

Limitaciones

El autocompletado tiene las siguientes limitaciones:

  • No se admite la restricción de frases de autocompletado con FilterOptions, excepto para los filtros integrados como objecttype y mimetype.
  • No se admiten sugerencias basadas en el historial de consultas de un usuario.
  • Puedes marcar un máximo de 20 propiedades como is_suggestable. Comunícate con el equipo de asistencia de Cloud Search para aumentar este límite.
  • El autocompletado del operador de búsqueda no está disponible para propiedades con exact_match_with_operator.
  • El autocompletado muestra un máximo de cinco sugerencias de contenido del documento y dos sugerencias de personas.
  • El autocompletado solo sugiere frases de los documentos a los que el usuario puede acceder.