

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.

# Pakete in Amazon OpenSearch Service importieren und verwalten
<a name="custom-packages"></a>

Mit Amazon OpenSearch Service können Sie benutzerdefinierte Wörterbuchdateien wie Stoppwörter und Synonyme hochladen und Plugins mit Ihrer Domain verknüpfen. Diese Plugins können vorkonfiguriert, benutzerdefiniert oder von Drittanbietern sein, sodass Sie die Funktionalität Ihrer Domain flexibel erweitern können. Der Oberbegriff für all diese Arten von Dateien ist *Pakete*.
+ **Wörterbuchdateien** helfen dabei, Suchergebnisse OpenSearch zu verfeinern, indem sie anweisen, häufig verwendete Wörter zu ignorieren oder ähnliche Begriffe wie „gefrorener Vanillepudding“, „Gelato“ und „Eiscreme“ als gleichwertig zu behandeln. Sie können auch die Wortbildung verbessern[, wie das](https://en.wikipedia.org/wiki/Stemming) japanische Analyse-Plugin (Kuromoji) zeigt.
+ **Vorgefertigte Plug-ins** bieten integrierte Funktionen, wie z. B. das Amazon Personalize Personalize-Plug-in für personalisierte Suchergebnisse. Diese Plugins verwenden den `ZIP-PLUGIN` Pakettyp. Weitere Informationen finden Sie unter [Plugins nach Engine-Version in Amazon OpenSearch Service](supported-plugins.md).
+ Mit **benutzerdefinierten Plugins und Plugins von Drittanbietern** können Sie maßgeschneiderte Funktionen hinzufügen oder in externe Systeme integrieren, was Ihrer Domain noch mehr Flexibilität bietet. Wie bei vorkonfigurierten Plugins laden Sie benutzerdefinierte Plugins als `ZIP-PLUGIN` Pakete hoch. Bei Plug-ins von Drittanbietern müssen Sie auch die Plugin-Lizenz und die Konfigurationsdateien als separate Pakete importieren und sie dann alle der Domain zuordnen.

  Weitere Informationen finden Sie unter den folgenden Themen:
  + [Verwaltung benutzerdefinierter Plugins in Amazon OpenSearch Service](custom-plugins.md)
  + [Installation von Drittanbieter-Plugins in Amazon OpenSearch Service](plugins-third-party.md)

**Anmerkung**  
Sie können einer einzelnen Domain maximal 20 Plugins zuordnen. Dieses Limit umfasst alle Plugin-Typen — optionale Plug-ins, Drittanbieter-Plugins und benutzerdefinierte Plug-ins.

**Topics**
+ [Erforderliche Berechtigungen](#custom-packages-iam)
+ [Hochladen von Paketen nach Amazon S3](#custom-packages-gs)
+ [Importieren und Zuordnen von Paketen](#custom-packages-assoc)
+ [Pakete verwenden mit OpenSearch](#custom-packages-using)
+ [Pakete werden aktualisiert](#custom-packages-updating)
+ [Manuelles Aktualisieren von Indizes mit einem neuen Wörterbuch](#custom-packages-updating-index-analyzers)
+ [Trennen und Entfernen von Paketen](#custom-packages-dissoc)
+ [Verwaltung benutzerdefinierter Plugins in Amazon OpenSearch Service](custom-plugins.md)
+ [Installation von Drittanbieter-Plugins in Amazon OpenSearch Service](plugins-third-party.md)

## Erforderliche Berechtigungen
<a name="custom-packages-iam"></a>

Benutzer ohne Administratorzugriff benötigen bestimmte AWS Identity and Access Management (IAM-) Aktionen, um Pakete zu verwalten:
+ `es:CreatePackage`— Erstellen Sie ein Paket
+ `es:DeletePackage`— Löscht ein Paket
+ `es:AssociatePackage`— Ordnet ein Paket einer Domain zu
+ `es:DissociatePackage`— Trennen Sie ein Paket von einer Domain

Sie benötigen auch Berechtigungen für den Amazon-S3-Bucket-Pfad oder das Objekt, in dem sich das benutzerdefinierte Paket befindet. 

Erteilen Sie alle Berechtigungen innerhalb von IAM, nicht in der Domänenzugriffsrichtlinie. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon OpenSearch Service](ac.md).

## Hochladen von Paketen nach Amazon S3
<a name="custom-packages-gs"></a>

In diesem Abschnitt wird beschrieben, wie benutzerdefinierte Wörterbuchpakete hochgeladen werden, da vorkonfigurierte Plugin-Pakete bereits installiert sind. Bevor Sie Ihrer Domain ein benutzerdefiniertes Wörterbuch zuordnen können, müssen Sie es in einen Amazon S3 S3-Bucket hochladen. Weitere Anleitungen finden Sie unter [Upload eines Objekts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) im *Benutzerhandbuch für Amazon Simple Storage Service*. Unterstützte Plugins müssen nicht hochgeladen werden. 

Wenn Ihr Wörterbuch vertrauliche Informationen enthält, geben Sie beim Hochladen eine [serverseitige Verschlüsselung mit von S3 verwalteten Schlüsseln](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) an. OpenSearch Der Dienst kann nicht auf Dateien in S3 zugreifen, die Sie mit einem Schlüssel schützen. AWS KMS 

Nachdem Sie die Datei hochgeladen haben, notieren Sie deren S3-Pfad. Das Pfadformat lautet `s3://amzn-s3-demo-bucket/file-path/file-name`.

Sie können die folgende Synonymdatei für Testzwecke verwenden. Speichern Sie diese unter `synonyms.txt`.

```
danish, croissant, pastry
ice cream, gelato, frozen custard
sneaker, tennis shoe, running shoe
basketball shoe, hightop
```

Bestimmte Wörterbücher, wie Hunspell-Wörterbücher, verwenden mehrere Dateien und benötigen eigene Verzeichnisse im Dateisystem. Derzeit unterstützt OpenSearch Service nur Wörterbücher mit einer einzigen Datei.

## Importieren und Zuordnen von Paketen
<a name="custom-packages-assoc"></a>

Die Konsole ist die einfachste Methode, ein benutzerdefiniertes Wörterbuch in Service zu importieren. OpenSearch Wenn Sie ein Wörterbuch aus Amazon S3 importieren, speichert OpenSearch Service seine eigene Kopie des Pakets und verschlüsselt diese Kopie automatisch mit AES-256 mit OpenSearch vom Service verwalteten Schlüsseln.

Optionale Plug-ins sind in OpenSearch Service bereits vorinstalliert, sodass Sie sie nicht selbst hochladen müssen. Sie müssen jedoch ein Plug-in mit einer Domain verknüpfen. Verfügbare Plug-ins sind auf dem Bildschirm **Pakete** in der Konsole aufgeführt. 

### Importieren Sie ein Paket und ordnen Sie es einer Domain zu
<a name="associate-console"></a>

1. Wählen Sie in der Amazon OpenSearch Service-Konsole **Pakete** aus.

1. Klicken Sie auf **Packet importieren**.

1. Geben Sie dem Paket einen beschreibenden Namen.

1. Geben Sie den S3-Pfad zu der Datei an und wählen Sie dann **Import (Importieren)** aus.

1. Kehren Sie zum Bildschirm **Packages (Pakete)** zurück.

1. Wenn der Paketstatus **Available (Verfügbar)** lautet, wählen Sie das Paket aus.

1. Wählen Sie Einer **Domain zuordnen** aus.

1. Wählen Sie eine Domain aus und klicken Sie dann auf **Weiter**. Sehen Sie sich die Pakete an und wählen Sie **Associate** aus.

1. Wählen Sie im Navigationsbereich Ihre Domäne und dann die Registerkarte **Pakete** aus.

1. Wenn es sich bei dem Paket um ein benutzerdefiniertes Wörterbuch handelt, notieren Sie sich die ID, wenn das Paket **verfügbar** wird. Verwenden Sie `analyzers/id` als Dateipfad für [Anfragen an OpenSearch](#custom-packages-using).

## Pakete verwenden mit OpenSearch
<a name="custom-packages-using"></a>

In diesem Abschnitt wird beschrieben, wie Sie beide Arten von Paketen verwenden können: benutzerdefinierte Wörterbücher und vorgefertigte Plugins.

### Verwenden von benutzerdefinierten Wörterbüchern
<a name="custom-dictionaries-using"></a>

Nachdem Sie eine Datei einer Domäne zugeordnet haben, können Sie sie in Parametern wie`synonyms_path`, und verwenden`stopwords_path`, `user_dictionary` wenn Sie Tokenizer und Tokenfilter erstellen. Der genaue Parameter ist je nach Objekt unterschiedlich. Mehrere Objekte unterstützen `synonyms_path` und `stopwords_path`, `user_dictionary` gilt jedoch exklusiv für das kuromoji-Plugin.

Für das IK-Analysis-Plug-In (Chinesisch) können Sie eine benutzerdefinierte Wörterbuchdatei als benutzerdefiniertes Paket hochladen und sie einer Domäne zuordnen, und das Plug-In nimmt sie automatisch auf, ohne dass ein `user_dictionary`-Parameter erforderlich ist. Wenn es sich bei Ihrer Datei um eine Synonymdatei handelt, verwenden Sie den `synonyms_path`-Parameter.

Mit dem folgenden Beispiel wird eine Synonymdatei zu einem neuen Index hinzugefügt:

```
PUT my-index
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "my_analyzer": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": ["my_filter"]
          }
        },
        "filter": {
          "my_filter": {
            "type": "synonym",
            "synonyms_path": "analyzers/F111111111",
            "updateable": true
          }
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "description": {
        "type": "text",
        "analyzer": "standard",
        "search_analyzer": "my_analyzer"
      }
    }
  }
}
```

Diese Anforderung erstellt einen benutzerdefinierten Analysator für den Index, der den Standard-Tokenizer und einen Synonym-Tokenfilter verwendet.
+ Tokenizer teilen Zeichendatenströme auf der Grundlage einer Reihe von Regeln in *Token* (im Allgemeinen Wörter) auf. Das einfachste Beispiel ist der Whitespace-Tokenizer, der die vorhergehenden Zeichen jedes Mal in ein Token unterteilt, wenn er auf ein Leerzeichen trifft. Ein komplexeres Beispiel ist der Standard-Tokenizer, der unter Verwendung einer Reihe von grammatikalischen Regeln in vielen Sprachen arbeitet.
+ Tokenfilter fügen Token hinzu, ändern oder löschen Token. Ein Synonym-Tokenfilter beispielsweise fügt Token hinzu, wenn er ein Wort in der Synonymliste findet. Der Stopp-Tokenfilter entfernt Token, wenn er ein Wort in der Liste der Stoppwörter findet.

Diese Anfrage fügt dem Mapping außerdem ein Textfeld (`description`) hinzu und teilt mit, dass der neue Analyzer als Suchanalysegerät verwendet werden OpenSearch soll. Sie können sehen, dass es immer noch den Standard-Analysator als Indexanalysator verwendet.

Notieren Sie sich schließlich die Zeile `"updateable": true` im Token-Filter. Dieses Feld gilt nur für Suchanalysatoren, nicht für Indexanalysatoren und ist wichtig, wenn Sie den [Suchanalysator später automatisch aktualisieren](#custom-packages-updating) möchten.

Fügen Sie dem Index zu Testzwecken einige Dokumente hinzu:

```
POST _bulk
{ "index": { "_index": "my-index", "_id": "1" } }
{ "description": "ice cream" }
{ "index": { "_index": "my-index", "_id": "2" } }
{ "description": "croissant" }
{ "index": { "_index": "my-index", "_id": "3" } }
{ "description": "tennis shoe" }
{ "index": { "_index": "my-index", "_id": "4" } }
{ "description": "hightop" }
```

Suchen Sie diese anschließend unter Verwendung eines Synonyms:

```
GET my-index/_search
{
  "query": {
    "match": {
      "description": "gelato"
    }
  }
}
```

In diesem Fall wird die folgende Antwort OpenSearch zurückgegeben:

```
{
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 0.99463606,
    "hits": [{
      "_index": "my-index",
      "_type": "_doc",
      "_id": "1",
      "_score": 0.99463606,
      "_source": {
        "description": "ice cream"
      }
    }]
  }
}
```

**Tipp**  
Wörterbuchdateien verwenden Java-Heap-Speicherplatz proportional zu ihrer Größe. Beispielsweise kann eine 2-GiB-Wörterbuchdatei 2 GiB Heap-Speicherplatz auf einem Knoten verbrauchen. Wenn Sie große Dateien verwenden, stellen Sie sicher, dass die Knoten über genügend Heap-Speicher verfügen, um sie aufzunehmen. [Überwachen](managedomains-cloudwatchmetrics.md#managedomains-cloudwatchmetrics-cluster-metrics) Sie die `JVMMemoryPressure`-Metrik und skalieren Sie Ihren Cluster nach Bedarf.

### Verwendung von vorkonfigurierten Plugins
<a name="optional-plugins"></a>

OpenSearch Mit diesem Service können Sie vorinstallierte, optionale OpenSearch Plugins zur Verwendung mit Ihrer Domain verknüpfen. Ein vorkonfiguriertes Plugin-Paket ist mit einer bestimmten OpenSearch Version kompatibel und kann nur Domains mit dieser Version zugeordnet werden. Die Liste der verfügbaren Pakete für Ihre Domain enthält alle unterstützten Plugins, die mit Ihrer Domain-Version kompatibel sind. Nachdem Sie ein Plugin mit einer Domain verknüpft haben, beginnt ein Installationsvorgang auf der Domain. Anschließend können Sie auf das Plugin verweisen und es verwenden, wenn Sie Anfragen an den OpenSearch Service stellen.

Das Zuordnen und Trennen eines Plugins erfordert eine Bereitstellung. blue/green Weitere Informationen finden Sie unter [Änderungen, die normalerweise zu Bereitstellungen führen blue/green](managedomains-configuration-changes.md#bg).

Zu den optionalen Plugins gehören Sprachanalyseprogramme und benutzerdefinierte Suchergebnisse. Das Amazon Personalize Search Ranking-Plugin verwendet beispielsweise maschinelles Lernen, um Suchergebnisse für Ihre Kunden zu personalisieren. Weitere Informationen zu diesem Plugin finden Sie unter [Suchergebnisse personalisieren von](https://docs.aws.amazon.com/personalize/latest/dg/personalize-opensearch.html). OpenSearch Eine Liste aller unterstützten Plugins finden Sie unter[Plugins nach Engine-Version in Amazon OpenSearch Service](supported-plugins.md).

#### Sudachi-Plugin
<a name="sudachi"></a>

Wenn Sie beim [Sudachi-Plugin](https://github.com/WorksApplications/elasticsearch-sudachi) eine Wörterbuchdatei neu zuordnen, wirkt sich das nicht sofort auf die Domain aus. Das Wörterbuch wird aktualisiert, wenn die nächste blue/green Bereitstellung im Rahmen einer Konfigurationsänderung oder eines anderen Updates auf der Domain ausgeführt wird. Alternativ können Sie ein neues Paket mit den aktualisierten Daten erstellen, mit diesem neuen Paket einen neuen Index erstellen, den vorhandenen Index erneut mit dem neuen Index indizieren und dann den alten Index löschen. Wenn Sie den Ansatz der Neuindizierung bevorzugen, verwenden Sie einen Indexalias, damit Ihr Datenverkehr nicht unterbrochen wird.

Darüber hinaus unterstützt das Sudachi-Plugin nur binäre Sudachi-Wörterbücher, die Sie mit der API-Operation hochladen können. [CreatePackage](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_CreatePackage.html) [Informationen zum vorgefertigten Systemwörterbuch und zum Verfahren zum Kompilieren von Benutzerwörterbüchern finden Sie in der Sudachi-Dokumentation.](https://github.com/WorksApplications/elasticsearch-sudachi)

**Anmerkung**  
Wenn Sie binäre Wörterbuchdateien auf Amazon S3 hochladen, müssen Sie den Content-Type des S3-Objekts auf setzen. `binary/octet-stream` Die Verwendung `application/octet-stream` führt dazu, dass der Paketimport fehlschlägt.

Das folgende Beispiel zeigt, wie System- und Benutzerwörterbücher mit dem Sudachi-Tokenizer verwendet werden. Sie müssen diese Wörterbücher als benutzerdefinierte Pakete mit Typ hochladen `TXT-DICTIONARY` und ihr Paket in den zusätzlichen Einstellungen angeben. IDs 

```
PUT sudachi_sample
{
  "settings": {
    "index": {
      "analysis": {
        "tokenizer": {
          "sudachi_tokenizer": {
            "type": "sudachi_tokenizer",
            "additional_settings": "{\"systemDict\": \"<system-dictionary-package-id>\",\"userDict\": [\"<user-dictionary-package-id>\"]}"
        }
        },
        "analyzer": {
          "sudachi_analyzer": {
            "filter": ["my_searchfilter"],
            "tokenizer": "sudachi_tokenizer",
            "type": "custom"
          }
        },
        "filter":{
          "my_searchfilter": {
            "type": "sudachi_split",
            "mode": "search"
          }
        }
      }
    }
  }
}
```

## Pakete werden aktualisiert
<a name="custom-packages-updating"></a>

In diesem Abschnitt wird nur beschrieben, wie Sie ein benutzerdefiniertes Wörterbuchpaket aktualisieren, da vorkonfigurierte Plugin-Pakete bereits für Sie aktualisiert wurden. Durch das Hochladen einer neuen Version eines Wörterbuchs auf Amazon S3 wird das Paket auf Amazon OpenSearch Service *nicht* automatisch aktualisiert. OpenSearch Service speichert eine eigene Kopie der Datei. Wenn Sie also eine neue Version auf S3 hochladen, müssen Sie sie manuell aktualisieren.

Jede Ihrer verknüpften Domänen speichert auch *eine* eigene Kopie der Datei. Um das Suchverhalten vorhersehbar zu halten, verwenden Domänen weiterhin ihre aktuelle Paketversion, bis Sie sie explizit aktualisieren. Um ein benutzerdefiniertes Paket zu aktualisieren, ändern Sie die Datei in Amazon S3 Control, aktualisieren Sie das Paket in OpenSearch Service und wenden Sie dann das Update an.

### Konsole
<a name="update-console"></a>

1. Wählen Sie in der OpenSearch Servicekonsole **Pakete** aus.

1. Wählen Sie ein Paket und **Aktualisieren** aus.

1. Geben Sie einen neuen S3-Pfad zu der Datei ein und wählen Sie dann **Paket aktualisieren** aus.

1. Kehren Sie zum Bildschirm **Packages (Pakete)** zurück.

1. Wenn der Paketstatus auf **Verfügbar** wechselt, wählen Sie das Paket aus. Wählen Sie dann eine oder mehrere verknüpfte Domänen aus, **übernehmen Sie die Aktualisierung** und bestätigen Sie. Warten Sie, bis sich der Zuordnungsstatus in **Aktiv** ändert.

1. Die nächsten Schritte hängen davon ab, wie Sie Ihre Indizes konfiguriert haben:
   + Wenn Ihre Domain läuft OpenSearch oder Elasticsearch 7.8 oder höher ist und nur Suchanalyser verwendet, bei denen das [aktualisierbare](#custom-packages-using) Feld auf true gesetzt ist, müssen Sie keine weiteren Maßnahmen ergreifen. OpenSearch [Der Service aktualisiert Ihre Indizes automatisch mithilfe der \$1plugins/\$1refresh\$1search\$1analyzers-API.](https://docs.opensearch.org/latest/im-plugin/refresh-analyzer/index/)
   + Wenn auf Ihrer Domain Elasticsearch 7.7 oder früher ausgeführt wird, Indexanalysatoren verwendet werden oder das Feld nicht verwendet, finden Sie weitere Informationen unter. `updateable` [Manuelles Aktualisieren von Indizes mit einem neuen Wörterbuch](#custom-packages-updating-index-analyzers)

Obwohl die Konsole die einfachste Methode ist, können Sie auch die Konfigurations-API AWS CLI, oder verwenden SDKs, um OpenSearch Servicepakete zu aktualisieren. Weitere Informationen finden Sie in der [AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/) und der [Amazon OpenSearch Service API-Referenz](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html).

### AWS SDK
<a name="update-sdk"></a>

Anstatt ein Paket in der Konsole manuell zu aktualisieren, können Sie das verwenden, SDKs um den Aktualisierungsvorgang zu automatisieren. Das folgende Python-Beispielskript lädt eine neue Paketdatei auf Amazon S3 hoch, aktualisiert das Paket in OpenSearch Service und wendet das neue Paket auf die angegebene Domain an. Nachdem bestätigt wurde, dass das Update erfolgreich war, führt es einen Beispielaufruf durch, um OpenSearch nachzuweisen, dass die neuen Synonyme angewendet wurden.

Sie müssen Werte für `host`, `region`, `file_name`, `bucket_name`, `s3_key`, `package_id`, `domain_name` und `query` angeben.

```
from requests_aws4auth import AWS4Auth
import boto3
import requests
import time
import json
import sys

host = ''  # The OpenSearch domain endpoint with https:// and a trailing slash. For example, https://my-test-domain.us-east-1.es.amazonaws.com/
region = ''  # For example, us-east-1
file_name = ''  # The path to the file to upload
bucket_name = ''  # The name of the S3 bucket to upload to
s3_key = ''  # The name of the S3 key (file name) to upload to
package_id = ''  # The unique identifier of the OpenSearch package to update
domain_name = ''  # The domain to associate the package with
query = ''  # A test query to confirm the package has been successfully updated

service = 'es'
credentials = boto3.Session().get_credentials()
client = boto3.client('opensearch')
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key,
                   region, service, session_token=credentials.token)


def upload_to_s3(file_name, bucket_name, s3_key):
    """Uploads file to S3"""
    s3 = boto3.client('s3')
    try:
        s3.upload_file(file_name, bucket_name, s3_key)
        print('Upload successful')
        return True
    except FileNotFoundError:
        sys.exit('File not found. Make sure you specified the correct file path.')


def update_package(package_id, bucket_name, s3_key):
    """Updates the package in OpenSearch Service"""
    print(package_id, bucket_name, s3_key)
    response = client.update_package(
        PackageID=package_id,
        PackageSource={
            'S3BucketName': bucket_name,
            'S3Key': s3_key
        }
    )
    print(response)


def associate_package(package_id, domain_name):
    """Associates the package to the domain"""
    response = client.associate_package(
        PackageID=package_id, DomainName=domain_name)
    print(response)
    print('Associating...')


def wait_for_update(domain_name, package_id):
    """Waits for the package to be updated"""
    response = client.list_packages_for_domain(DomainName=domain_name)
    package_details = response['DomainPackageDetailsList']
    for package in package_details:
        if package['PackageID'] == package_id:
            status = package['DomainPackageStatus']
            if status == 'ACTIVE':
                print('Association successful.')
                return
            elif status == 'ASSOCIATION_FAILED':
                sys.exit('Association failed. Please try again.')
            else:
                time.sleep(10)  # Wait 10 seconds before rechecking the status
                wait_for_update(domain_name, package_id)


def sample_search(query):
    """Makes a sample search call to OpenSearch"""
    path = '_search'
    params = {'q': query}
    url = host + path
    response = requests.get(url, params=params, auth=awsauth)
    print('Searching for ' + '"' + query + '"')
    print(response.text)
```

**Anmerkung**  
Wenn Sie bei der Ausführung des Skripts mit dem die Fehlermeldung „Paket nicht gefunden“ erhalten, bedeutet dies wahrscheinlich AWS CLI, dass Boto3 die in \$1/.aws/config angegebene Region verwendet, die nicht die Region ist, in der sich Ihr S3-Bucket befindet. Führen Sie entweder `aws configure` aus und geben Sie die richtige Region an, oder fügen Sie die Region explizit zum Client hinzu:   

```
client = boto3.client('opensearch', region_name='us-east-1')
```

## Manuelles Aktualisieren von Indizes mit einem neuen Wörterbuch
<a name="custom-packages-updating-index-analyzers"></a>

Manuelle Indexaktualisierungen gelten nur für benutzerdefinierte Wörterbücher, nicht für vorkonfigurierte Plugins. Um ein aktualisiertes Wörterbuch zu verwenden, müssen Sie Ihre Indizes manuell aktualisieren, wenn Sie eine der folgenden Bedingungen erfüllen:
+ Ihre Domäne führt Elasticsearch 7.7 oder früher aus.
+ Sie verwenden benutzerdefinierte Pakete als Indexanalysatoren.
+ Sie verwenden benutzerdefinierte Pakete als Suchanalysatoren, schließen jedoch das [aktualisierbare](#custom-packages-using) Feld nicht ein.

Um Analyzer mit den neuen Paketdateien zu aktualisieren, haben Sie zwei Möglichkeiten:
+ Schließen und öffnen Sie alle Indizes, die Sie aktualisieren möchten:

  ```
  POST my-index/_close
  POST my-index/_open
  ```
+ Indizieren Sie die Indizes neu. Erstellen Sie zunächst einen Index, der die aktualisierte Synonymdatei (oder eine völlig neue Datei) verwendet. Beachten Sie, dass nur UTF-8 unterstützt wird.

  ```
  PUT my-new-index
  {
    "settings": {
      "index": {
        "analysis": {
          "analyzer": {
            "synonym_analyzer": {
              "type": "custom",
              "tokenizer": "standard",
              "filter": ["synonym_filter"]
            }
          },
          "filter": {
            "synonym_filter": {
              "type": "synonym",
              "synonyms_path": "analyzers/F222222222"
            }
          }
        }
      }
    },
    "mappings": {
      "properties": {
        "description": {
          "type": "text",
          "analyzer": "synonym_analyzer"
        }
      }
    }
  }
  ```

  Nehmen Sie anschließend eine [Neuindizierung](https://docs.opensearch.org/latest/opensearch/reindex-data/) des alten Index in diesen neuen Index vor:

  ```
  POST _reindex
  {
    "source": {
      "index": "my-index"
    },
    "dest": {
      "index": "my-new-index"
    }
  }
  ```

  Wenn Sie häufig Index-Analysen aktualisieren, verwenden Sie [Indexalias](https://docs.opensearch.org/latest/opensearch/index-alias/) um einen konsistenten Pfad zum neuesten Index beizubehalten:

  ```
  POST _aliases
  {
    "actions": [
      {
        "remove": {
          "index": "my-index",
          "alias": "latest-index"
        }
      },
      {
        "add": {
          "index": "my-new-index",
          "alias": "latest-index"
        }
      }
    ]
  }
  ```

  Wenn Sie den alten Index nicht benötigen, löschen Sie ihn:

  ```
  DELETE my-index
  ```

## Trennen und Entfernen von Paketen
<a name="custom-packages-dissoc"></a>

Wenn Sie ein Paket, unabhängig davon, ob es sich um ein benutzerdefiniertes Wörterbuch oder ein vorkonfiguriertes Plugin handelt, von einer Domain trennen, können Sie dieses Paket nicht mehr verwenden, wenn Sie neue Indizes erstellen. Nachdem ein Paket getrennt wurde, können bestehende Indizes, die das Paket verwendet haben, es nicht mehr verwenden. Sie müssen das Paket aus einem Index entfernen, bevor Sie es trennen können. Andernfalls schlägt die Trennung fehl. 

Die Konsole ist die einfachste Methode, um ein Paket von einer Domäne zu trennen und es aus dem Dienst zu entfernen. OpenSearch Wenn Sie ein Paket aus dem OpenSearch Service entfernen, wird es *nicht* von seinem ursprünglichen Speicherort auf Amazon S3 entfernt.

### Trennen Sie ein Paket von einer Domain
<a name="dissociate-console"></a>

1. Melden Sie sich zu [https://console.aws.amazon.com/aos/Hause](https://console.aws.amazon.com/aos/home) bei der Amazon OpenSearch Service-Konsole an.

1. Wählen Sie im Navigationsbereich **Domains** aus.

1. Wählen Sie die Domain aus und navigieren Sie dann zur Registerkarte **Pakete**.

1. Wählen Sie ein Paket aus, klicken Sie dann auf die Option **Aktionen** und anschließend auf **Trennen**. Bestätigen Sie Ihre Auswahl.

1. Warten Sie, bis das Paket nicht mehr in der Liste angezeigt wird. Möglicherweise müssen Sie Ihren Browser aktualisieren.

1. Wenn Sie das Paket mit anderen Domänen verwenden möchten, hören Sie hier auf. Um mit dem Entfernen des Pakets fortzufahren (falls es sich um ein benutzerdefiniertes Wörterbuch handelt), wählen Sie im Navigationsbereich **Pakete** aus.

1. Wählen Sie das Paket und anschließend **Delete (Löschen)** aus.

Verwenden Sie alternativ die Konfigurations-API AWS CLI SDKs, oder, um Pakete zu trennen und zu entfernen. Weitere Informationen finden Sie in der [AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/) und der [Amazon OpenSearch Service API-Referenz](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html).