Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Étape 4 : Création d'un index Amazon Kendra et ingestion des métadonnées
Pour implémenter votre solution de recherche intelligente, vous devez créer un index Amazon Kendra et y ingérer vos données et métadonnées S3.
Avant d'ajouter des métadonnées à votre index Amazon Kendra, vous devez créer des champs d'index personnalisés correspondant à des attributs de document personnalisés, qui à leur tour correspondent aux types d'entités Amazon Comprehend. Amazon Kendra utilise les champs d'index et les attributs de document personnalisés que vous créez pour rechercher et filtrer vos documents.
Pour plus d'informations, voir Index et Création d'attributs de document personnalisés.
Rubriques
Création d'un index Amazon Kendra
Pour interroger vos documents sources, vous devez créer un index Amazon Kendra.
Si vous utilisez le AWS CLI dans cette étape, vous créez et attachez un AWS IAM rôle et une politique qui permettent à Amazon Kendra d'accéder à vos CloudWatch journaux avant de créer un index. Pour plus d'informations, veuillez consulter les Prérequis.
-
Ouvrez la console Amazon Kendra à l'adresse. https://console.aws.amazon.com/kendra/
Important
Assurez-vous que vous vous trouvez dans la même région que celle dans laquelle vous avez créé votre tâche d'analyse des entités Amazon Comprehend et votre compartiment Amazon S3. Si vous vous trouvez dans une autre région, choisissez la AWS région dans laquelle vous avez créé votre compartiment Amazon S3 dans le sélecteur de région situé dans la barre de navigation supérieure.
-
Choisissez Créer un index.
-
Pour les détails de l'index sur la page Spécifier les détails de l'index, procédez comme suit :
-
Pour Nom de l'index, saisissez
kendra-index
. -
Laissez le champ Description vide.
-
Pour IAMrôle, choisissez Créer un nouveau rôle. Ce rôle permet d'accéder à votre compartiment Amazon S3.
-
Pour le Nom du rôle, saisissez
kendra-role
. Le IAM rôle aura le préfixeAmazonKendra-
. -
Conservez les paramètres par défaut pour le chiffrement et les balises, puis choisissez Next.
-
-
Pour les paramètres de contrôle d'accès sur la page Configurer le contrôle d'accès utilisateur, choisissez Non, puis Suivant.
-
Pour les éditions Provisioning sur la page des détails de Provisioning, choisissez Developer edition puis Create.
-
Pour créer et associer un IAM rôle à Amazon Kendra qui la reconnaisse comme une entité de confiance, procédez comme suit :
-
Enregistrez la politique de confiance suivante sous forme de JSON fichier appelé
kendra-trust-policy.json
dans un éditeur de texte sur votre appareil local.{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "kendra.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Pour créer un IAM rôle appelé
kendra-role
et y joindre votrekendra-trust-policy.json
fichier enregistré, utilisez la commande create-role: -
Copiez le nom de la ressource Amazon (ARN) dans votre éditeur de texte et enregistrez-le localement sous le nom de
kendra-role-arn
.Note
ARNLe format est similaire à
arn:aws:iam::123456789012:role/kendra-role
. Vous avez besoin du ARN fichier que vous avez enregistrékendra-role-arn
pour exécuter les tâches Amazon Kendra.
-
-
Avant de créer un index, vous devez autoriser
kendra-role
l'écriture dans CloudWatch Logs. Pour y arriver, exécutez les étapes suivantes.-
Enregistrez la politique de confiance suivante sous forme de JSON fichier appelé
kendra-cloudwatch-policy.json
dans un éditeur de texte sur votre appareil local.{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"cloudwatch:PutMetricData", "Resource":"*", "Condition":{ "StringEquals":{ "cloudwatch:namespace":"Kendra" } } }, { "Effect":"Allow", "Action":"logs:DescribeLogGroups", "Resource":"*" }, { "Effect":"Allow", "Action":"logs:CreateLogGroup", "Resource":"arn:aws:logs:
aws-region
:aws-account-id
:log-group:/aws/kendra/*" }, { "Effect":"Allow", "Action":[ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:aws-region
:aws-account-id
:log-group:/aws/kendra/*:log-stream:*" } ] }Remplacez
aws-region
avec votre AWS région, etaws-account-id
avec votre identifiant de AWS compte à 12 chiffres. -
Pour créer une IAM politique d'accès aux CloudWatch journaux, utilisez la commande create-policy
: -
Copiez le nom de la ressource Amazon (ARN) dans votre éditeur de texte et enregistrez-le localement sous le nom de
kendra-cloudwatch-arn
.Note
ARNLe format est similaire à
arn:aws:iam::123456789012:role/kendra-cloudwatch-policy
. Vous avez besoin du ARN fichier que vous avez enregistrékendra-cloudwatch-arn
pour l'associerkendra-cloudwatch-policy
à votre IAM rôle. -
Pour l'associer
kendra-cloudwatch-policy
à votre IAM rôle, utilisez la attach-role-policycommande :
-
-
Pour créer un index, utilisez la commande create-index
: -
Copiez l'index
Id
et enregistrez-le dans un éditeur de texte souskendra-index-id
.Id
Cela vous permet de suivre l'état de la création de votre index. -
Pour suivre la progression de votre tâche de création d'index, utilisez la commande describe-index
:
Le processus de création d'index prend en moyenne 15 minutes, mais peut prendre plus de temps. Lorsque le statut de l'index est actif, votre index est prêt à être utilisé. Pendant la création de votre index, vous pouvez passer à l'étape suivante.
Si vous utilisez le AWS CLI dans cette étape, vous créez et associez une IAM politique à votre IAM rôle Amazon Kendra qui donne à votre index les autorisations d'accéder à votre compartiment S3.
Mise à jour du IAM rôle pour l'accès à Amazon S3
Pendant la création de l'index, vous mettez à jour votre IAM rôle Amazon Kendra pour permettre à l'index que vous avez créé de lire les données de votre compartiment Amazon S3. Pour plus d'informations, consultez la section Rôles IAM d'accès pour Amazon Kendra.
Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le volet de navigation de gauche, choisissez Rôles et entrez
kendra-role
dans la zone de recherche au-dessus du nom du rôle. -
Parmi les options proposées, cliquez sur
kendra-role
. -
Dans Résumé, choisissez Joindre des politiques.
-
Dans Autorisations d'attachement, dans la zone de recherche, entrez
S3
et cochez la case à côté de la ReadOnlyAccess politique AmazonS3 parmi les options suggérées. -
Choisissez Attach policy (Attacher une politique). Sur la page Résumé, vous pouvez désormais voir deux politiques associées au IAM rôle.
-
Revenez à la console Amazon Kendra à l'adresse https://console.aws.amazon.com/kendra/
et attendez que le statut de votre index passe de Création à Actif avant de passer à l'étape suivante.
-
Enregistrez le texte suivant dans un JSON fichier appelé
kendra-S3-access-policy.json
dans un éditeur de texte sur votre appareil local.{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect":"Allow" }, { "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Effect":"Allow" }, { "Effect":"Allow", "Action":[ "kendra:BatchPutDocument", "kendra:BatchDeleteDocument", "kendra:ListDataSourceSyncJobs" ], "Resource":[ "arn:aws:kendra:
aws-region
:aws-account-id
:index/kendra-index-id
" ] } ] }Remplacez amzn-s3-demo-bucket par le nom de votre compartiment S3,
aws-region
avec votre AWS région,aws-account-id
avec votre identifiant de AWS compte à 12 chiffres, etkendra-index-id
avec votre sauvegardekendra-index-id
. -
Pour créer une IAM politique d'accès à votre compartiment S3, utilisez la commande create-policy
: -
Copiez le nom de la ressource Amazon (ARN) dans votre éditeur de texte et enregistrez-le localement sous le nom de
kendra-S3-access-arn
.Note
ARNLe format est similaire à
arn:aws:iam::123456789012:role/kendra-S3-access-policy
. Vous avez besoin du ARN fichier que vous avez enregistrékendra-S3-access-arn
pour l'associerkendra-S3-access-policy
à votre IAM rôle. -
Pour associer le
kendra-S3-access-policy
à votre IAM rôle Amazon Kendra, utilisez la attach-role-policycommande suivante :
Création de champs d'index de recherche personnalisés pour Amazon Kendra
Pour préparer Amazon Kendra à reconnaître vos métadonnées comme des attributs de document personnalisés, vous devez créer des champs personnalisés correspondant aux types d'entités Amazon Comprehend. Vous saisissez les neuf types d'entités Amazon Comprehend suivants sous forme de champs personnalisés :
-
COMMERCIAL_ITEM
-
DATE
-
EVENT
-
LOCATION
-
ORGANIZATION
-
OTHER
-
PERSON
-
QUANTITY
-
TITLE
Important
Les types d'entités mal orthographiés ne seront pas reconnus par l'index.
-
Ouvrez la console Amazon Kendra à l'adresse. https://console.aws.amazon.com/kendra/
-
Dans la liste des index, cliquez sur
kendra-index
. -
Dans le panneau de navigation de gauche, sous Gestion des données, choisissez Définition des facettes.
-
Dans le menu des champs d'index, choisissez Ajouter un champ.
-
Dans la boîte de dialogue Ajouter un champ d'index, procédez comme suit :
-
Dans Nom du champ, entrez
COMMERCIAL_ITEM
. -
Dans Type de données, sélectionnez Liste de chaînes.
-
Dans Types d'utilisation, sélectionnez Facetable, Consultable et Displayable, puis choisissez Ajouter.
-
Répétez les étapes a à c pour chaque type d'entité Amazon Comprehend : COMMERCIAL _ITEM,DATE,EVENT,LOCATION,,ORGANIZATION, OTHERPERSON,QUANTITY. TITLE
-
La console affiche les messages d'ajout de champs réussis. Vous pouvez choisir de les fermer avant de passer à l'étape suivante.
-
Enregistrez le texte suivant sous forme de JSON fichier appelé
custom-attributes.json
dans un éditeur de texte sur votre appareil local.[ { "Name": "COMMERCIAL_ITEM", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "DATE", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "EVENT", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "LOCATION", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "ORGANIZATION", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "OTHER", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "PERSON", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "QUANTITY", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "TITLE", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } } ]
-
Pour créer des champs personnalisés dans votre index, utilisez la commande update-index
: -
Pour vérifier que les attributs personnalisés ont été ajoutés à votre index, utilisez la commande describe-index
:
Ajout du compartiment Amazon S3 en tant que source de données pour l'index
Avant de synchroniser votre index, vous devez y connecter votre source de données S3.
-
Ouvrez la console Amazon Kendra à l'adresse. https://console.aws.amazon.com/kendra/
-
Dans la liste des index, cliquez sur
kendra-index
. -
Dans le menu de navigation de gauche, sous Gestion des données, sélectionnez Sources de données.
-
Dans la section Sélectionner le type de connecteur de source de données, accédez à Amazon S3 et choisissez Ajouter un connecteur.
-
Sur la page Spécifier les détails de la source de données, procédez comme suit :
-
Sous Nom et description, dans Nom de la source de données, entrez
S3-data-source
. -
Laissez la section Description vide.
-
Conservez les paramètres par défaut pour les balises.
-
Choisissez Suivant.
-
-
Sur la page Configurer les paramètres de synchronisation, dans la section Étendue de la synchronisation, procédez comme suit :
-
Dans Entrez l'emplacement de la source de données, choisissez Parcourir S3.
-
Dans Choisir les ressources, sélectionnez votre compartiment S3, puis choisissez Choose.
-
Dans Emplacement du dossier de préfixes des fichiers de métadonnées, choisissez Parcourir S3.
-
Dans Choisir les ressources, cliquez sur le nom de votre bucket dans la liste des buckets.
-
Pour Objets, cochez la case d'option correspondant à
metadata
et choisissez Choisir. Le champ de localisation doit maintenant indiquermetadata/
. -
Conservez les paramètres par défaut pour l'emplacement du fichier de configuration de la liste de contrôle d'accès, la sélection de la clé de déchiffrement et la configuration supplémentaire.
-
-
Pour IAMle rôle, sur la page Configurer les paramètres de synchronisation, sélectionnez
kendra-role
. -
Sur la page Configurer les paramètres de synchronisation, sous Calendrier d'exécution de synchronisation, pour Fréquence, choisissez Exécuter à la demande, puis Suivant.
-
Sur la page Révision et création, passez en revue vos choix concernant les détails de la source de données et choisissez Ajouter une source de données.
-
Enregistrez le texte suivant sous forme de JSON fichier appelé
S3-data-connector.json
dans un éditeur de texte sur votre appareil local.{ "S3Configuration":{ "BucketName":"amzn-s3-demo-bucket", "DocumentsMetadataConfiguration":{ "S3Prefix":"metadata" } } }
Remplacez amzn-s3-demo-bucket par le nom de votre compartiment S3.
-
Pour connecter votre compartiment S3 à votre index, utilisez la create-data-source
commande suivante : -
Copiez le connecteur
Id
et enregistrez-le dans un éditeur de texte sous le nom deS3-connector-id
.Id
Cela vous permet de suivre l'état du processus de connexion des données. -
Pour vous assurer que votre source de données S3 a été correctement connectée, utilisez la describe-data-source
commande suivante :
À la fin de cette étape, votre source de données Amazon S3 est connectée à l'index.
Synchronisation de l'index Amazon Kendra
Avec l'ajout de la source de données Amazon S3, vous pouvez désormais synchroniser votre index Amazon Kendra avec celle-ci.
-
Ouvrez la console Amazon Kendra à l'adresse. https://console.aws.amazon.com/kendra/
-
Dans la liste des index, cliquez sur
kendra-index
. -
Dans le menu de navigation de gauche, sélectionnez Sources de données.
-
Dans Sources de données, sélectionnez
S3-data-source
. -
Dans la barre de navigation supérieure, choisissez Synchroniser maintenant.
-
Pour synchroniser votre index, utilisez la commande start-data-source-sync-job
: -
Pour vérifier l'état de la synchronisation des index, utilisez la commande list-data-source-sync-jobs
:
À la fin de cette étape, vous avez créé un index Amazon Kendra consultable et filtrable pour votre ensemble de données.