Actualización de un tesauro - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualización de un tesauro

Puede cambiar la configuración de un tesauro después de crearlo. Puede cambiar detalles como el nombre del tesauro y la información de IAM. También puede cambiar la ubicación de la ruta Amazon S3 del archivo de tesauros. Si cambia la ruta al archivo de tesauros, Amazon Kendra reemplaza el tesauro existente por el tesauro especificado en la ruta actualizada.

Puede tardar de hasta 30 minutos en ver los efectos del archivo de sinónimos actualizado.

nota

Si hay errores de validación o de sintaxis en el archivo del tesauro, se conserva el archivo del tesauro cargado anteriormente.

Los siguientes procedimientos muestran cómo modificar los detalles del tesauro.

Console
Modificación de los detalles del tesauro
  1. En el panel de navegación izquierdo, en el índice que desee modificar, elija Sinónimos.

  2. En la página Sinónimos, seleccione el tesauro que desee modificar y, a continuación, elija Editar.

  3. En la página Actualizar el tesauro, actualice los detalles del tesauro.

  4. (Opcional) Seleccione Cambiar la ruta del archivo del tesauro y, a continuación, especifique una Amazon S3 ruta al nuevo archivo del tesauro. El archivo de tesauros existente se sustituye por el archivo que especifique. Si no cambia la ruta, Amazon Kendra vuelve a cargar el tesauro desde la ruta existente.

    Si selecciona Conservar el archivo del tesauro actual, Amazon Kendra no se vuelve a cargar el archivo del tesauro.

  5. Seleccione Guardar para guardar la configuración.

También puede volver a cargar el tesauro desde la ruta del tesauro existente.

Para volver a cargar un tesauro desde una ruta existente
  1. En el panel de navegación izquierdo, en el índice que desee modificar, elija Sinónimos.

  2. En la página Sinónimos, seleccione el tesauro que desea recargar y luego elija Actualizar.

  3. En la página Recargar el archivo del tesauro, confirme que desea actualizar el archivo del tesauro.

CLI

Para actualizar un tesauro, llame a 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."); } }