Mettre en œuvre la saisie semi-automatique

La saisie semi-automatique de Cloud Search aide l'utilisateur en lui suggérant des mots lorsqu'il saisit une requête de recherche. Par exemple, les suggestions peuvent être des mots issus des titres de documents, des opérateurs de recherche, des valeurs d'opérateur de recherche, ou des noms et adresses e-mail 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-gramme, détermine les suggestions à diffuser à l'aide de l'API Suggest. Par défaut, les expressions des titres des 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 saisir automatiquement le nom et les valeurs de la propriété correspondante.

L'API Suggest examine la requête de recherche pour obtenir des indices sur la langue de la requête (par exemple, anglais ou espagnol) 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 à la langue.

Exemple de scénario

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

  • La source de données contient deux documents.
  • Chaque document comporte un titre (ItemMetadata.title) et deux propriétés : genre et characters.
  • Le premier document est intitulé "Avengers Infinity War" avec genre=science fiction et characters=Iron Man, Hulk.
  • Le deuxième document est intitulé "Harry Potter" et contient 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 des propriétés des documents.

Deux documents et n-gramme obtenu
Figure 1. Deux documents et n-gramme obtenu utilisé 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".

Lorsque vous interrogez cette source de données, supposons que l'utilisateur commence par saisir "h." Les suggestions présentées à l'utilisateur sont les suivantes:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Supposons que l'utilisateur sélectionne la suggestion de saisie semi-automatique "Hermione" et que le caractère suivant qu'il saisit soit "a". Les suggestions de saisie semi-automatique affichées à l'utilisateur sont les suivantes:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

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

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

Par défaut, les expressions 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 de suggestion complète 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égré, la fonctionnalité de saisie semi-automatique de Cloud Search est prise en charge en mode natif, sans effort supplémentaire. N'oubliez pas que, par défaut, les expressions des titres de documents s'affichent dans la saisie semi-automatique. Les propriétés de schéma doivent être explicitement marquées comme is_suggestable pour que l'API de suggestion complète 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:

  • La restriction des expressions de saisie semi-automatique de Cloud Search à l'aide de l'élément FilterOptions défini dans le schéma n'est pas prise en charge, sauf pour les 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 par l'utilisateur précédemment dans une application de recherche) ne sont pas acceptées

  • Vous pouvez marquer jusqu'à 20 propriétés 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 à partir du contenu du document et deux suggestions de personnes.

  • La saisie semi-automatique de la recherche dans le cloud ne suggère que des expressions provenant des documents auxquels l'utilisateur a accès.