Amazon Kendra dejará de estar abierto a nuevos clientes a partir del 30 de julio de 2026. Si desea utilizar el servicio, inscríbase antes del 30 de julio. Para obtener capacidades similares a Amazon Kendra, explore las bases de conocimiento de Amazon Bedrock. Más información.
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.
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
-
En el panel de navegación izquierdo, en el índice que desee modificar, elija Sinónimos.
-
En la página Sinónimos, seleccione el tesauro que desee modificar y, a continuación, elija Editar.
-
En la página Actualizar el tesauro, actualice los detalles del tesauro.
-
(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.
-
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
-
En el panel de navegación izquierdo, en el índice que desee modificar, elija Sinónimos.
-
En la página Sinónimos, seleccione el tesauro que desea recargar y luego elija Actualizar.
-
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.");
}
}