Cette page explique comment configurer les champs de schéma pour configurer une application pour des données structurées, pour des données non structurées avec des métadonnées ou pour des données de site Web avec des attributs structurés personnalisés.
Les paramètres de champ permettent de déterminer comment Agent Search utilise les champs dans ses résultats. Vous pouvez utiliser l'onglet Schéma de la Google Cloud console pour configurer les paramètres de champ.
La configuration des paramètres de champ n'est disponible que pour les applications avec des datastores contenant des données structurées ou des données non structurées avec des métadonnées.
Paramètres de champ
Les paramètres de champ suivants sont disponibles pour de nombreux types de champs dans vos données de recherche ou de recommandations, mais pas pour tous les types de données. Un schéma contient plusieurs paramètres de champ pour des champs individuels. Le tableau suivant contient les paramètres qui peuvent être appliqués à un champ dans un schéma. L'utilisation de données structurées est fortement recommandée pour ces paramètres de champ :
| Paramètre | Définition | Objectif | Exemple de cas d'utilisation |
|---|---|---|---|
| Indexable | La définition de champs indexables permet d'effectuer des opérations telles que le filtrage, l'amplification et la segmentation sur des champs structurés dans un document. Les champs de type |
Le fait de marquer un champ comme Notez que le fait de marquer un champ comme |
Dans un data store d'hôtels, vous pouvez définir un champ,
tel que hotel_chain, comme indexable. Cela vous permet d'appliquer des opérations de classement,
de filtrage et d'amplification sur hotel_chain. Par exemple,
vous pouvez appliquer un filtre pour que la recherche ne renvoie que les résultats de recherche
contenant la chaîne hôtelière filtrée. |
| Inclus dans l'index de recherche |
Les champs les plus susceptibles d'être
liés aux recherches sont désignés comme Seuls les champs contenant des valeurs textuelles peuvent être marqués comme inclus dans l'index de recherche. Ainsi, un champ de prix numérique peut être indexable (pour le filtrage ou la segmentation), mais ne peut pas être inclus dans l'index de recherche en tant que texte intégral. |
Définir un champ sur Inclus dans l'index de recherche améliore le rappel pour ce champ dans les requêtes de recherche, ce qui permet aux utilisateurs de trouver du contenu, tel que des pages Web, en interrogeant le texte de ces champs. Le fait de marquer un champ comme inclus dans l'index de recherche permet d'appliquer un classement. Par conséquent, le fait de marquer un nombre excessif de champs comme inclus dans l'index de recherche peut avoir un impact négatif sur la précision de la recherche en sursaturant l'algorithme de classement et en renvoyant trop de résultats. Cela peut entraîner des résultats de recherche non pertinents. Vous pouvez appliquer une pondération relative aux champs inclus dans l'index de recherche. Toutefois, en raison de valeurs par défaut robustes, cela est rarement nécessaire. Consultez la section Pondérer les champs inclus dans l'index de recherche ci-dessous. |
Le système de tickets d'assistance d'un fournisseur d'accès à Internet stocke chaque ticket sous forme de document structuré
document. Si ces documents contiennent des champs de texte inclus dans l'index de recherche, tels que
|
| Ajout d'attributs dynamique | Fournit des filtres contextuels
pour mieux cibler les recherches des utilisateurs. Définir un champ comme
Dynamic Facetable permet au système de générer automatiquement
des filtres interactifs (attributs) en fonction des valeurs uniques présentes dans
le champ. |
Définir un champ sur Dynamic
facetable permet aux utilisateurs d'affiner dynamiquement les résultats de recherche en
sélectionnant des catégories ou des attributs directement dérivés de vos données ingérées,
sans avoir à prédéfinir manuellement toutes les options de filtre possibles. Cela
permet à l'utilisateur d'affiner sa recherche pour trouver un contenu Web très spécifique.Utilisez Ajout d'attributs dynamique avec Inclus dans l'index de recherche pour obtenir de meilleurs résultats, ce qui améliore à la fois le rappel de votre recherche et la qualité des attributs proposés à l'utilisateur. |
Les pages d'une base de connaissances interne à l'entreprise,
telles que les règles RH, sont
ingérées avec des données telles que department,
document_type, ou last_modified_date. Si
ces champs sont tagués comme dynamic facetable, une
recherche d'un employé pour un terme tel que remboursement des dépenses génère dynamiquement
des filtres interactifs en fonction des résultats pertinents
trouvés. Dans ce cas, l'interface Web peut afficher des attributs pour
Département : Finance, Voyages, Type de document : Règlement,
Questions fréquentes ou Date de dernière modification : Ce trimestre, L'année
dernière. |
| Récupérable | Lorsqu'une requête de recherche trouve du contenu correspondant, le moteur de recherche peut extraire les valeurs des champs récupérables pour les afficher ou les utiliser dans l'application, ce qui signifie que les informations du document d'origine sont affichées dans les résultats de recherche. Les champs clés (identifiants uniques des documents) sont configurés comme récupérables. | Les champs récupérables fournissent un contexte de recherche en distinguant les champs dont les valeurs peuvent être affichées de ceux qui ne doivent être utilisés que dans la logique de recherche, mais dont les valeurs brutes ne sont pas destinées à être affichées à l'utilisateur final. | Pour une recherche de produits sur le site d'un marchand,
product_id, name, price et un
image_url sont des champs types que vous souhaitez définir comme
récupérables. En revanche, internal_tracking_code ne peut
être indexé et filtrable qu'à des fins administratives, mais pas
récupérable dans les résultats de recherche publics. |
| À compléter | Permet d'utiliser le contenu d'un champ pour les suggestions de requêtes de recherche. Pour en savoir plus, consultez Configurer la saisie semi-automatique. | Ce paramètre permet d'utiliser les valeurs de ce champ pour fournir des suggestions de requêtes en temps réel lorsque les utilisateurs saisissent du texte. Cette fonctionnalité aide vos utilisateurs à trouver du contenu pertinent et accélère le processus de recherche. Certains facteurs, tels que l'utilisation du filtrage en langage naturel peuvent avoir un impact sur ces performances. | Si le champ completable est défini pour product_name, brand, et category, lorsque l'utilisateur saisit Tech, les suggestions de saisie semi-automatique peuvent afficher :
|
| Filtrable | Permet aux recommandations d'utiliser un champ pour filtrer les résultats recommandés, en déterminant les résultats de recherche que vos utilisateurs voient. Pour en savoir plus sur le filtrage des recommandations, consultez Filtrer les recommandations. | Définir un champ sur Filterable permet de personnaliser les recommandations pour les utilisateurs. Notez que des limites de filtrage s'appliquent. |
Un paramètre de filtre par langue et par genre pourrait se présenter comme suit : language_code: ANY("en", "fr") OR categories: ANY("drama"). |
Différences entre les paramètres couramment utilisés
Il existe des différences clés entre les paramètres de champ indexable, inclus dans l'index de recherche et récupérable. Le tableau récapitule ces différences.
| Fonctionnalité | Indexable | Inclus dans l'index de recherche | Récupérable |
|---|---|---|---|
| Rôle principal | Rend le contenu du champ disponible pour le moteur de recherche | Permet d'interroger le contenu du champ en texte intégral | Permet de renvoyer la valeur du champ dans les résultats de recherche |
| Analyse | Le contenu est traité et placé dans un index. | Subit généralement une analyse lexicale approfondie. | La valeur est stockée telle quelle pour l'affichage. |
| Peut-il être... | |||
| … inclus dans l'index de recherche ? | Oui (souvent une condition préalable) | N/A | Pas nécessairement (peut être récupérable sans être inclus dans l'index de recherche) |
| … récupérable ? | Pas nécessairement | Pas nécessairement | N/A |
| … filtrable/triable/segmentable ? | Oui (généralement une condition préalable pour ceux-ci également) | Pas directement. Il s'agit d'attributs distincts souvent basés sur un champ indexable. | Pas directement. Ces attributs sont liés à la façon dont le champ est indexé et interrogé, et pas seulement affiché. |
En pratique, de nombreux champs essentiels pour l'expérience utilisateur (tels que les titres, les descriptions et les informations d'identification) sont souvent définis comme indexable, searchable et retrievable.
Limites
Les paramètres de champ présentent les limites suivantes :
- Vous pouvez configurer jusqu'à 50 champs comme indexables, inclus dans l'index de recherche, récupérables ou avec ajout d'attributs dynamique.
- Pour configurer un champ comme avec ajout d'attributs dynamique, il doit d'abord être configuré comme indexable.
- La modification du paramètre indexable nécessite une réindexation des données, ce qui peut prendre des heures, en particulier pour les grands datastores.
Si vous configurez des champs pour une application de recherche multimédia et que vous souhaitez obtenir des informations détaillées sur les champs du schéma, consultez À propos des documents multimédias et des datastores.
Modifier les paramètres de champ
Pour modifier les paramètres de champ :
Dans la Google Cloud console, accédez à la page Applications d'IA.
Cliquez sur le nom de l'application que vous souhaitez modifier.
Cliquez sur Data (Données).
Cliquez sur l'onglet Schéma. Cet onglet affiche les paramètres de champ actuels.
L'onglet Schéma ne s'affiche pas si votre data store contient des données de site Web de base ou des données non structurées sans métadonnées.
Cliquez sur Modifier.
Sélectionnez ou désélectionnez les paramètres de champ que vous devez modifier. Certains paramètres de champ ne sont pas compatibles. Par exemple, les champs numériques ne peuvent pas être définis sur Inclus dans l'index de recherche.
Cliquez sur Enregistrer pour appliquer les modifications.
Pondérer les champs inclus dans l'index de recherche (preview)
Si vous marquez un champ comme inclus dans l'index de recherche, vous pouvez spécifier une pondération pour indiquer son importance relative dans les résultats de recherche. Dans la plupart des cas, il n'est pas nécessaire de spécifier des pondérations pour des champs individuels, car les pondérations par défaut fonctionnent correctement.
Toutefois, il peut être nécessaire d'ajuster les pondérations dans certaines situations, par exemple :
Vous migrez des données à partir d'une plate-forme de recherche existante qui utilise déjà des champs pondérés.
Lorsque les pondérations par défaut ne fournissent pas de résultats de recherche satisfaisants. Plus précisément, cela peut se produire lorsque vous avez de nombreux champs inclus dans l'index de recherche et que certains sont nettement plus importants que d'autres.
Par exemple, le résumé est le champ le plus important pour les recherches et vous souhaitez donc donner la priorité à ce texte.
Ou encore, le schéma comporte un champ contenant des mots clés très pertinents qui sont d'excellents prédicteurs pour les résultats de recherche, mais, comme ce champ est beaucoup plus court que d'autres, son influence est souvent éclipsée par des champs plus longs. L'augmentation de sa pondération garantit qu'il a l'impact souhaité.
Niveaux de pondération
Les pondérations sont regroupées dans les niveaux suivants :
| Importance du champ | Explication |
|---|---|
| Très faible | Une faible valeur que le système prend toujours en compte lorsqu'il combine les scores de tous les champs. Si vous souhaitez une pondération encore plus faible afin que l'effet soit négligeable, ne marquez pas le champ comme inclus dans l'index de recherche. |
| Faible | Une pondération inférieure à la valeur par défaut. |
| Par défaut | Pondération standard pour les champs inclus dans l'index de recherche. Cette pondération offre des performances raisonnablement bonnes dans la plupart des cas. |
| Haute | Une pondération nettement supérieure à la valeur par défaut. |
| Très élevée | Une pondération dominante. En règle générale, vous réservez cette pondération à un seul champ au maximum. |
Mise à jour du schéma et réindexation
L'ajout de pondérations aux champs inclus dans l'index de recherche nécessite une mise à jour du schéma et une réindexation ultérieure des données dans le data store. La mise à jour du schéma prend des heures, et il n'existe aucun indicateur fiable pour vous indiquer quand l'indexation est terminée. Vous devez donc surestimer le temps d'indexation.
Définir des niveaux de pondération sur les champs
La tâche de définition des niveaux de pondération pour les champs peut être fastidieuse, car vous ne devez apporter que de petites modifications et examiner attentivement les résultats de recherche par la suite pour vérifier qu'il n'y a pas de conséquences involontaires. Après chaque modification, vous devez attendre la fin de la réindexation avant de pouvoir évaluer l'impact de la modification.
Vous ne pouvez configurer la pondération des champs de recherche que via l'API. Cette fonctionnalité n'est pas disponible dans la Google Cloud console.
Pour définir des pondérations, vous devez mettre à jour le schéma du data store via la méthode d'API
projects.locations.dataStores.schemas.patch.
Si vous n'avez pas encore votre schéma déjà, suivez les instructions pour obtenir votre schéma dans Afficher une définition de schéma.
Suivez les instructions pour mettre à jour le schéma de manière programmatique. Ajoutez des pondérations à un ou plusieurs champs inclus dans l'index de recherche, comme dans ces exemples :
"summary": { "type": "string", "searchable": true, "weight": "high" }, "uri": { "type": "string", "searchable": true, "weight": "low" },Dans cet exemple, le champ
summaryest défini sur une pondération supérieure à la normale et le champurisur une pondération inférieure. Si vous souhaitez rétablir la valeur par défaut d'une pondération, définissez-la surdefault.Les valeurs autorisées pour le paramètre de pondération sont les suivantes :
very_lowlowdefaulthighvery_high
Attendez la fin de la réindexation et testez le comportement de la recherche.
Étape suivante
- Mettre à jour un schéma pour des données structurées
- Configurer les résultats de recherche
- Afficher les résultats de recherche