Implementa el autocompletado

El autocompletado de Cloud Search ayuda a los usuarios mediante la sugerencia de palabras cuando estos escriben 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 que se mostrarán con la API de Suggest. 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 enum como is_suggestable para autocompletar el nombre y los valores de la propiedad correspondientes.

La API de Suggest examina la búsqueda para obtener sugerencias sobre el idioma de la búsqueda, 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 idioma.

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” con genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`.

En la Figura 1, se ilustra cómo se extraen las sugerencias del autocompletado de los títulos de 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, se extraen n-gramas (hasta trigramas) “Avengers”, “Infinity”, “War”, “Avengers Infinity”, “Infinity War”, “Avengers Infinity War”. Del mismo modo, a partir del documento 2, se generan “Harry”, “Potter”, “Harry Potter”.

Cuando se consulta esta fuente de datos, supongamos que el usuario comienza escribiendo “h”. Las sugerencias que se le mostrarán 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”. Estas serían las sugerencias de autocompletado mostradas al usuario:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

El autocompletado intenta completar la última palabra (o n-grama) 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 llama sugerencia de cola, porque autocompleta solo la última palabra o n-grama que se está escribiendo.

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 Suggest autocomplete 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 aparecen en el autocompletado. Las propiedades del esquema deben marcarse de forma explícita como is_suggestable para que la API de Suggest autocomplete 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 restringir las frases de autocompletado de la Búsqueda de Cloud con 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 que el usuario realizó antes 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 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 aquellos documentos a los que el usuario tiene acceso.