Adición de un diccionario a un índice - 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.

Adición de un diccionario a un índice

Los procedimientos que se describen a continuación muestran cómo añadir un archivo de tesauro que contenga sinónimos a un índice. Puede tardar hasta 30 minutos en ver los efectos de su archivo de tesauro actualizado. Para obtener más información sobre el archivo de tesauro, consulteCreación de un archivo de diccionario.

Console

Para agregar un diccionario

  1. En el panel de navegación izquierdo, debajo del índice en el que desea agregar una lista de sinónimos, su tesauro, elijaSinónimos.

  2. En la páginaSinónimopágina, elijaAdición de Tesauro.

  3. EnDefina el diccionario, dé a su diccionario de sinónimos un nombre y una descripción opcional.

  4. EnConfiguración de tesauro, proporcione elAmazon S3ruta de acceso a su archivo de tesauro. El archivo debe ser inferior a 5 MB.

  5. ParaIAM Role, seleccione un rol o seleccioneCreate a new role (Crear un nuevo rol)y especifique un nombre de rol para crear un nuevo rol de.Amazon Kendrautiliza este rol para acceder alAmazon S3recurso en su nombre. El rol de IAM incluye el prefijo «AmazonKendra-».

  6. ElegirGuardarpara guardar la configuración y agregar el diccionario. Una vez ingerido el tesauro, está activo y los sinónimos se resaltan en los resultados. Puede tardar hasta 30 minutos en ver los efectos de su archivo de tesauro.

CLI

Para añadir un thesarus a un índice con elAWS CLI, llamecreate-thesaurus:

aws kendra create-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

Llamadalist-thesauripara ver una lista de sinónimos:

aws kendra list-thesauri \ --index-id index-id

Para ver los detalles de un tesauro, llamedescribe-thesaurus:

aws kendra describe-thesaurus \ --index-id index-id \ --index-id thesaurus-id

Puede tardar hasta 30 minutos en ver los efectos de su archivo de tesauro.

Python
import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Create a thesaurus") thesaurus_name = "thesaurus-name" thesaurus_description = "thesaurus-description" thesaurus_role_arn = "role-arn" index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "thesaurus-file" source_s3_path= { 'Bucket': s3_bucket_name, 'Key': s3_key } try: thesaurus_response = kendra.create_thesaurus( Description = thesaurus_description, Name = thesaurus_name, RoleArn = thesaurus_role_arn, IndexId = index_id, SourceS3Path = source_s3_path ) pprint.pprint(thesaurus_response) thesaurus_id = thesaurus_response["Id"] print("Wait for Kendra to create the thesaurus.") while True: # Get thesaurus description thesaurus_description = kendra.describe_thesaurus( Id = thesaurus_id, IndexId = index_id ) # If status is not CREATING quit status = thesaurus_description["Status"] print("Creating thesaurus. Status: " + status) if status != "CREATING": 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.CreateThesaurusRequest; import software.amazon.awssdk.services.kendra.model.CreateThesaurusResponse; 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 CreateThesaurusExample { 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 indexId = "index-id"; System.out.println(String.format("Creating a thesaurus named %s", thesaurusName)); CreateThesaurusRequest createThesaurusRequest = CreateThesaurusRequest .builder() .name(thesaurusName) .indexId(indexId) .description(thesaurusDescription) .roleArn(thesaurusRoleArn) .sourceS3Path(S3Path.builder() .bucket(s3BucketName) .key(s3Key) .build()) .build(); CreateThesaurusResponse createThesaurusResponse = kendra.createThesaurus(createThesaurusRequest); System.out.println(String.format("Thesaurus response %s", createThesaurusResponse)); String thesaurusId = createThesaurusResponse.id(); System.out.println(String.format("Waiting until the thesaurus with ID %s is created.", thesaurusId)); while (true) { DescribeThesaurusRequest describeThesaurusRequest = DescribeThesaurusRequest.builder() .id(thesaurusId) .indexId(indexId) .build(); DescribeThesaurusResponse describeThesaurusResponse = kendra.describeThesaurus(describeThesaurusRequest); ThesaurusStatus status = describeThesaurusResponse.status(); if (status != ThesaurusStatus.CREATING) { break; } TimeUnit.SECONDS.sleep(60); } System.out.println("Thesaurus creation is complete."); } }