Mettre en œuvre la saisie semi-automatique

La saisie semi-automatique de Cloud Search aide l'utilisateur en suggérant des mots lorsqu'il saisit une requête de recherche. Par exemple, les suggestions peuvent être des mots provenant de titres de documents, d'opérateurs de recherche, de valeurs d'opérateurs de recherche, ou de noms et d'adresses e-mail de l'organisation Google Workspace.

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

L'API Suggest examine la requête de recherche pour trouver des indications sur la langue de la requête, telles que l'anglais ou l'espagnol, et hiérarchise les résultats en conséquence. Le champ languageCode d'une requête permet également d'améliorer les suggestions spécifiques à un langage.

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 possède 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 s'intitule "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 des propriétés du document.

Deux documents et le ngramme résultant
Figure 1 : Deux documents et le n-gramme obtenu pour la saisie semi-automatique

À partir du document 1, nous extrayons les ngrammes (jusqu'à trigrammes) "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War", "Avengers Infinity War". De la même manière, dans le document 2, nous générons "Harry", "Potter", "Harry Potter".

Pour interroger cette source de données, imaginons que l'utilisateur commence par saisir "h". Voici les suggestions présentées à l'utilisateur:

  • Henri
  • Hermione
  • Épave
  • Harry Potter

Imaginons que l'utilisateur sélectionne la suggestion de saisie semi-automatique "Hermione" et que la frappe suivante de l'utilisateur soit le caractère "a". Les suggestions de saisie semi-automatique présentées à l'utilisateur seraient les suivantes:

  • Hermione Adventure
  • Hermione Action
  • Hermione vengers

La saisie semi-automatique tente de compléter le dernier mot (ou ngramme) saisi. Dans l'exemple précédent, "a" devient simplement "aventure", "action" et "avengers", car aucun texte ne commence par "hermione a". Cette suggestion s'appelle "suggestion de queue". La saisie semi-automatique n'effectue que le dernier mot ou 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 contacts.

Par défaut, les expressions figurant dans les titres des documents s'affichent lors de la saisie semi-automatique. Les propriétés de schéma doivent être explicitement marquées comme is_suggestable pour que l'API suggestion puisse renseigner automatiquement le nom et les valeurs de la propriété correspondantes.

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 disponible en natif sans aucune action supplémentaire. N'oubliez pas que, par défaut, les expressions des titres des 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 puisse renseigner automatiquement le nom et les valeurs de propriété correspondants.

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 l'élément FilterOptions défini dans le schéma, 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 précédemment effectuées par l'utilisateur dans une application de recherche) ne sont pas acceptées.

  • Vous pouvez marquer jusqu'à 20 propriétés comme is_suggestable. Cette limite peut être augmentée en contactant l'assistance Cloud Search.

  • La saisie semi-automatique de l'opérateur 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 contacts.

  • La saisie semi-automatique de Cloud Search suggère des expressions uniquement à partir des documents auxquels l'utilisateur a accès.