Implementa el autocompletado

El autocompletado de Cloud Search ayuda al usuario, ya que sugiere palabras cuando escribe una búsqueda. Por ejemplo, las sugerencias pueden ser palabras de títulos de documentos, operadores de búsqueda, valores de operadores de búsqueda o nombres y direcciones de correo electrónico de la organización de Google Workspace.

El autocompletado extrae frases de los títulos de los documentos indexados y, mediante un modelo n-grama, determina las sugerencias para entregarlas mediante la API de sugerencias. De forma predeterminada, las frases de los títulos de los documentos se muestran en el autocompletado. También puedes marcar las propiedades del esquema de texto y enumeración como is_suggestable para autocompletar el nombre y los valores de la propiedad correspondientes.

La API de sugerencias examina la búsqueda en busca de sugerencias sobre el idioma de la consulta, como inglés o español, y prioriza los resultados según corresponda. El campo languageCode de una solicitud también se usa para mejorar las sugerencias específicas de lenguaje.

Situación de ejemplo

Por ejemplo, supongamos que tienes la siguiente fuente de datos que contiene datos sobre películas:

  • La fuente de datos contiene 2 documentos.
  • Cada documento tiene un título (ItemMetadata.title) y dos propiedades: genre y characters.
  • El primer documento se titula "Avengers: Infinity War" con genre=science fiction y characters=Iron Man, Hulk
  • El segundo documento se titula "Harry Potter" y contiene genre=Adventure, Fantasy andcaracteres=Hermione, Harry Potter.

En la Figura 1, se muestra cómo se extraen las sugerencias de autocompletar de los títulos de los documentos, las propiedades y los valores de las propiedades.

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, extraemos ngrams (hasta trigramas) “Avengers”, “Infinity”, “War”, “Avengers Infinity”, “Infinity War”, “Avengers Infinity War”. De forma similar al documento 2, generamos “Harry”, “Potter”, “Harry Potter”.

Cuando se consulta esta fuente de datos, digamos que el usuario comienza escribiendo “h”. Las sugerencias que se muestran al usuario serían las siguientes:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Supongamos que el usuario selecciona la sugerencia de autocompletado "Hermione" y la siguiente combinación de teclas del usuario es el carácter "a". Las sugerencias de autocompletar que se muestran al usuario serían las siguientes:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

El autocompletado intenta completar la última palabra (o ngram) que se está escribiendo. En el ejemplo anterior, solo expande "a" a "adventure", "action" y "avengers", ya que no hay texto que comience con "Hermione a" juntos. Esta sugerencia se denomina sugerencia de cola; se autocompleta solo la última palabra o n-grama que se escribe.

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

De manera predeterminada, las frases de los títulos de los documentos se muestran en el autocompletado. Las propiedades del esquema deben marcarse de forma explícita como is_suggestable para que la API de sugerencias complete automáticamente el nombre y los valores de la propiedad correspondientes.

Integra con la API de Autocomplete

Si usas la aplicación de búsqueda predeterminada o el widget de búsqueda incorporable, la función de autocompletado de Cloud Search es compatible de forma nativa sin ningún trabajo adicional. Recuerda que, de forma predeterminada, las frases de los títulos de los documentos se muestran en el autocompletado. Las propiedades del esquema deben marcarse de forma explícita como is_suggestable para que la API de sugerencias complete automáticamente el nombre y los valores de la propiedad correspondientes.

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

Limitaciones

El autocompletado tiene las siguientes limitaciones:

  • No se admite la restricción de frases de autocompletado de Cloud Search mediante el FilterOptions definido en el esquema, excepto por los siguientes filtros integrados: objectype, mimetype y filtros de tipo.

  • No se admiten sugerencias basadas en el historial de consultas (búsquedas realizadas por el usuario anteriormente en una aplicación de búsqueda).

  • Se puede marcar un máximo de 20 propiedades como is_suggestable. Para aumentar este límite, comunícate con el equipo de asistencia de Cloud Search.

  • El autocompletado del operador de búsqueda no está disponible para las propiedades con exact_match_with_operator.

  • El autocompletado de Cloud Search muestra un máximo de 5 sugerencias del contenido del documento y sugerencias de 2 personas.

  • El autocompletado de Cloud Search sugiere frases solo de los documentos a los que un usuario tiene acceso.