Mettre en œuvre la saisie semi-automatique

La saisie semi-automatique de Cloud Search aide les utilisateurs en leur suggérant des mots lorsqu'ils saisissent une requête de recherche. Par exemple, il peut s'agir de mots issus de titres de documents, d'opérateurs de recherche, de valeurs d'opérateurs de recherche, ou de noms et d'adresses e-mail provenant de l'organisation Google Workspace.

La saisie semi-automatique extrait des expressions des titres des documents indexés et, à l'aide d'un modèle n-gram, détermine les suggestions à proposer à l'aide de l'API Suggest. Par défaut, les expressions issues des titres de documents sont affichées dans la saisie semi-automatique. Vous pouvez également marquer les propriétés de schéma de texte et d'énumération comme is_suggestable pour compléter automatiquement le nom et les valeurs de la propriété correspondante.

L'API Suggest examine la requête de recherche pour trouver des indices sur sa langue (anglais ou espagnol, par exemple) et hiérarchise les résultats en conséquence. Le champ languageCode d'une requête est également utilisé pour améliorer les suggestions spécifiques à une langue.

Exemple de scénario

Par exemple, supposons que vous disposiez de la source de données suivante contenant des informations sur les films :

  • La source de données contient deux documents.
  • Chaque document possède un titre (ItemMetadata.title) et deux propriétés : genre et characters.
  • Le premier document s'intitule "Avengers Infinity War" avec genre=science fiction et characters=Iron Man, Hulk.
  • Le deuxième document est intitulé "Harry Potter" avec genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`

La figure 1 montre comment les suggestions de saisie semi-automatique sont extraites des titres, des propriétés et des valeurs de propriété des documents.

Deux documents et le n-gramme obtenu
Figure 1. Deux documents et le n-gramme obtenu utilisés pour la saisie semi-automatique

À partir du document 1, nous extrayons les n-grammes (jusqu'aux trigrammes) "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War" et "Avengers Infinity War". De même, à partir du document 2, nous générons "Harry", "Potter" et "Harry Potter".

Lorsqu'il interroge cette source de données, l'utilisateur commence par saisir "h". Les suggestions présentées à l'utilisateur seraient les suivantes :

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Supposons que l'utilisateur sélectionne la suggestion de saisie semi-automatique "Hermione" et que la prochaine frappe au clavier de l'utilisateur soit le caractère "a". Les suggestions de saisie semi-automatique affichées à l'utilisateur seraient les suivantes :

  • Aventure d'Hermione
  • Action Hermione
  • Hermione Avengers

La saisie semi-automatique tente de compléter le dernier mot (ou n-gramme) saisi. Dans l'exemple précédent, il développe simplement "a" en "aventure", "action" et "avengers", car il n'y a pas de texte commençant par "hermione a" ensemble. Cette suggestion est appelée suggestion de fin. Elle complète automatiquement uniquement le dernier mot ou n-gramme saisi.

La saisie semi-automatique de Cloud Search renvoie un maximum de cinq suggestions de contenu de document et deux suggestions de personnes.

Par défaut, les expressions issues des titres des documents sont affichées dans la saisie semi-automatique. Les propriétés de schéma doivent être explicitement marquées comme is_suggestable pour que l'API Suggest puisse compléter automatiquement le nom et les valeurs de la propriété correspondante.

Intégrer l'API Autocomplete

Si vous utilisez l'application de recherche par défaut ou le widget de recherche intégrable, la fonctionnalité de saisie semi-automatique de Cloud Search est compatible de manière native, sans aucune configuration supplémentaire. N'oubliez pas que, par défaut, les expressions issues des titres de documents sont affichées dans la saisie semi-automatique. Les propriétés de schéma doivent être explicitement marquées comme is_suggestable pour que l'API Suggest puisse compléter automatiquement le nom et les valeurs de la propriété correspondante.

Si vous créez une application de recherche personnalisée, la saisie semi-automatique est disponible en interrogeant les points de terminaison de l'API /query/suggest.

Limites

La saisie semi-automatique présente les limites suivantes :

  • Il n'est pas possible de limiter les expressions de saisie semi-automatique de Cloud Search à l'aide de FilterOptions défini dans le schéma, à l'exception des filtres intégrés suivants : objectype, mimetype et les filtres de type.

  • Les suggestions basées sur l'historique des requêtes (recherches effectuées précédemment par l'utilisateur dans une application de recherche) ne sont pas prises en charge.

  • Vous pouvez marquer 20 propriétés au maximum comme is_suggestable. Vous pouvez augmenter cette limite en contactant l'assistance Cloud Search.

  • La saisie semi-automatique des opérateurs de recherche n'est pas disponible pour les propriétés avec exact_match_with_operator.

  • La saisie semi-automatique de Cloud Search renvoie un maximum de cinq suggestions de contenu de document et deux suggestions de personnes.

  • La saisie semi-automatique de Cloud Search ne suggère que des expressions issues des documents auxquels un utilisateur a accès.