

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Einen Thesaurus zu einem Index hinzufügen
<a name="index-synonyms-adding-thesaurus-file"></a>

Die folgenden Verfahren zeigen, wie Sie einem Index eine Thesaurusdatei mit Synonymen hinzufügen. Es kann bis zu 30 Minuten dauern, bis die Auswirkungen Ihrer aktualisierten Thesaurusdatei sichtbar werden. Weitere Informationen zur Thesaurus-Datei finden Sie unter. [Eine Thesaurusdatei erstellen](index-synonyms-creating-thesaurus-file.md) 

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

**So fügen Sie einen Thesaurus hinzu**

1. **Wählen Sie im linken Navigationsbereich unter dem Index, dem Sie eine Liste von Synonymen hinzufügen möchten, Ihrem Thesaurus, Synonyme aus.** 

1. **Wählen Sie auf der **Synonymseite** die Option Thesaurus hinzufügen aus.** 

1. Geben Sie Ihrem **Thesaurus unter Thesaurus definieren** einen Namen und optional eine Beschreibung.

1. Geben **Sie in den Thesaurus-Einstellungen** den Amazon S3 Pfad zu Ihrer Thesaurusdatei an. Die Datei muss kleiner als 5 MB sein.

1. Wählen Sie für **IAM-Rolle** eine Rolle aus, oder wählen Sie **Neue Rolle erstellen** und geben Sie einen Rollennamen an, um eine neue Rolle zu erstellen. Amazon Kendra verwendet diese Rolle, um in Ihrem Namen auf die Amazon S3 Ressource zuzugreifen. Die IAM-Rolle hat das Präfix "AmazonKendra-“. 

1. Wählen Sie **Speichern**, um die Konfiguration zu speichern und den Thesaurus hinzuzufügen. Sobald der Thesaurus aufgenommen wurde, ist er aktiv und Synonyme werden in den Ergebnissen hervorgehoben. Es kann bis zu 30 Minuten dauern, bis die Auswirkungen Ihrer Thesaurus-Datei sichtbar werden. 

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

Um einem Index mit dem einen Thesarus hinzuzufügen, rufen Sie folgenden Befehl auf 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
```

Rufen Sie an`list-thesauri`, um eine Liste von Thesauren zu sehen:

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

Einzelheiten zu einem Thesaurus erhalten Sie unter: `describe-thesaurus`

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

Es kann bis zu 30 Minuten dauern, bis Sie die Auswirkungen Ihrer Thesaurus-Datei sehen.

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

------