Adicionar um dicionário de sinônimos a um índice - Amazon Kendra

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicionar um dicionário de sinônimos a um índice

Os procedimentos a seguir mostram como adicionar um arquivo de dicionário de sinônimos a um índice. Pode levar até 30 minutos para ver os efeitos do arquivo de sinônimos atualizado. Para obter mais informações sobre o arquivo de sinônimos, consulte Criando um arquivo de dicionário de sinônimos:

Console
Para adicionar um dicionário de sinônimos
  1. No painel de navegação esquerdo, abaixo do índice em que você deseja adicionar uma lista de sinônimos, o dicionário de sinônimos, escolha Sinônimos.

  2. Na página Sinônimo, escolha Adicionar dicionário de sinônimos.

  3. Em Definir dicionário de sinônimos, dê um nome ao seu dicionário de sinônimos e uma descrição opcional.

  4. Nas configurações do dicionário de sinônimos, forneça o Amazon S3 caminho para o arquivo do dicionário de sinônimos. O arquivo deve ter menos de 5 MB.

  5. Para a função do IAM, selecione uma função ou selecione Criar uma nova função e especifique um nome de função para criar uma nova função. Amazon Kendra usa essa função para acessar o Amazon S3 recurso em seu nome. A função do IAM tem o prefixo "AmazonKendra-”.

  6. Escolha Salvar para salvar a configuração e adicionar o dicionário de sinônimos. Depois que o dicionário de sinônimos é ingerido, ele fica ativo e os sinônimos são destacados nos resultados. Pode levar até 30 minutos para ver os efeitos do arquivo de sinônimos atualizado.

CLI

Para adicionar um dicionário de títulos a um índice com o AWS CLI, chamecreate-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

Chame list-thesauri para ver uma lista de dicionários de sinônimos:

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

Para ver os detalhes de um dicionário de sinônimos, chame describe-thesaurus:

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

Pode levar até 30 minutos para ver os efeitos do arquivo de sinônimos atualizado.

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."); } }