Mettre à jour un thésaurus - Amazon Kendra

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.

Mettre à jour un thésaurus

Vous pouvez modifier la configuration d'un thésaurus après sa création. Vous pouvez modifier des informations telles que le nom du thésaurus et les informations IAM. Vous pouvez également modifier l'emplacement du chemin Amazon S3 du fichier de thésaurus. Si vous modifiez le chemin du fichier de thésaurus, Amazon Kendra remplace le thésaurus existant par le thésaurus spécifié dans le chemin mis à jour.

Les effets de la mise à jour de votre fichier de thésaurus peuvent prendre jusqu'à 30 minutes.

Note

En cas d'erreurs de validation ou de syntaxe dans le fichier de thésaurus, le fichier de thésaurus précédemment téléchargé est conservé.

Les procédures suivantes indiquent comment modifier les détails du thésaurus.

Console
Pour modifier les détails du thésaurus
  1. Dans le volet de navigation de gauche, sous l'index que vous souhaitez modifier, sélectionnez Synonymes.

  2. Sur la page des synonymes, sélectionnez le thésaurus que vous souhaitez modifier, puis choisissez Modifier.

  3. Sur la page Mettre à jour le thésaurus, mettez à jour les détails du thésaurus.

  4. (Facultatif) Choisissez Modifier le chemin du fichier de thésaurus, puis spécifiez un Amazon S3 chemin d'accès au nouveau fichier de thésaurus. Votre fichier de thésaurus existant est remplacé par le fichier que vous spécifiez. Si vous ne modifiez pas le chemin, Amazon Kendra recharge le thésaurus à partir du chemin existant.

    Si vous sélectionnez Conserver le fichier de thésaurus actuel, Amazon Kendra cela ne recharge pas le fichier de thésaurus.

  5. Choisissez Enregistrer pour enregistrer la configuration.

Vous pouvez également recharger le thésaurus à partir du chemin du thésaurus existant.

Pour recharger un thésaurus à partir d'un chemin existant
  1. Dans le volet de navigation de gauche, sous l'index que vous souhaitez modifier, sélectionnez Synonymes.

  2. Sur la page des synonymes, sélectionnez le thésaurus que vous souhaitez recharger, puis choisissez Actualiser.

  3. Sur la page Recharger le fichier de thésaurus, confirmez que vous souhaitez actualiser le fichier de thésaurus.

CLI

Pour mettre à jour un thésaurus, appelez update-thesaurus :

aws kendra update-thesaurus \ --index-id index-id \ --name "thesaurus-name" \ --description "thesaurus-description" \ --source-s3-path "Bucket=bucket-name,Key=thesaurus/synonyms.txt" \ --role-arn role-arn
Python
import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Update a thesaurus") thesaurus_name = "thesaurus-name" thesaurus_description = "thesaurus-description" thesaurus_role_arn = "role-arn" thesaurus_id = "thesaurus-id" index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "thesaurus-file" source_s3_path= { 'Bucket': s3_bucket_name, 'Key': s3_key } try: kendra.update_thesaurus( Id = thesaurus_id, IndexId = index_id, Description = thesaurus_description, Name = thesaurus_name, RoleArn = thesaurus_role_arn, SourceS3Path = source_s3_path ) print("Wait for Kendra to update the thesaurus.") while True: # Get thesaurus description thesaurus_description = kendra.describe_thesaurus( Id = thesaurus_id, IndexId = index_id ) # If status is not UPDATING quit status = thesaurus_description["Status"] print("Updating thesaurus. Status: " + status) if status != "UPDATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.UpdateThesaurusRequest; import software.amazon.awssdk.services.kendra.model.DescribeThesaurusRequest; import software.amazon.awssdk.services.kendra.model.DescribeThesaurusResponse; import software.amazon.awssdk.services.kendra.model.S3Path; import software.amazon.awssdk.services.kendra.model.ThesaurusStatus; public class UpdateThesaurusExample { public static void main(String[] args) throws InterruptedException { KendraClient kendra = KendraClient.builder().build(); String thesaurusName = "thesaurus-name"; String thesaurusDescription = "thesaurus-description"; String thesaurusRoleArn = "role-arn"; String s3BucketName = "bucket-name"; String s3Key = "thesaurus-file"; String thesaurusId = "thesaurus-id"; String indexId = "index-id"; UpdateThesaurusRequest updateThesaurusRequest = UpdateThesaurusRequest .builder() .id(thesaurusId) .indexId(indexId) .name(thesaurusName) .description(thesaurusDescription) .roleArn(thesaurusRoleArn) .sourceS3Path(S3Path.builder() .bucket(s3BucketName) .key(s3Key) .build()) .build(); kendra.updateThesaurus(updateThesaurusRequest); System.out.println(String.format("Waiting until the thesaurus with ID %s is updated.", thesaurusId)); // a new source s3 path requires re-consumption by Kendra // and so can take as long as a Create Thesaurus operation while (true) { DescribeThesaurusRequest describeThesaurusRequest = DescribeThesaurusRequest.builder() .id(thesaurusId) .indexId(indexId) .build(); DescribeThesaurusResponse describeThesaurusResponse = kendra.describeThesaurus(describeThesaurusRequest); ThesaurusStatus status = describeThesaurusResponse.status(); if (status != ThesaurusStatus.UPDATING) { break; } TimeUnit.SECONDS.sleep(60); } System.out.println("Thesaurus update is complete."); } }