

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiungere un thesaurus a un indice
<a name="index-synonyms-adding-thesaurus-file"></a>

Le procedure seguenti mostrano come aggiungere un file del thesaurus contenente sinonimi a un indice. La visualizzazione degli effetti del file del thesaurus aggiornato può richiedere fino a 30 minuti. Per ulteriori informazioni sul file del thesaurus, vedere. [Creazione di un file del thesaurus](index-synonyms-creating-thesaurus-file.md) 

------
#### [ Console ]

**Per aggiungere un thesaurus**

1. **Nel riquadro di navigazione a sinistra, sotto l'indice in cui desideri aggiungere un elenco di sinonimi, il tuo thesaurus, scegli Sinonimi.** 

1. **Nella pagina dei **sinonimi**, scegli Aggiungi Thesaurus.** 

1. In **Define thesaurus**, assegnate al thesaurus un nome e una descrizione opzionale.

1. Nelle **impostazioni del thesaurus**, specificate il percorso del file del Amazon S3 thesaurus. Il file deve pesare meno di 5 MB.

1. Per **IAM Role**, seleziona un ruolo o seleziona **Crea un nuovo ruolo** e specifica un nome di ruolo per creare un nuovo ruolo. Amazon Kendra utilizza questo ruolo per accedere alla Amazon S3 risorsa per tuo conto. Il ruolo IAM ha il prefisso "AmazonKendra-». 

1. Scegli **Salva** per salvare la configurazione e aggiungere il thesaurus. Una volta inserito, il thesaurus è attivo e i sinonimi vengono evidenziati nei risultati. La visualizzazione degli effetti del file del thesaurus può richiedere fino a 30 minuti. 

------
#### [ CLI ]

Per aggiungere un thesarus a un indice con, chiamate: AWS CLI`create-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
```

Chiama `list-thesauri` per vedere un elenco di thesaurus:

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

Per visualizzare i dettagli di un thesaurus, chiamate: `describe-thesaurus`

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

La visualizzazione degli effetti del file del thesaurus può richiedere fino a 30 minuti.

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

------