

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.

# Erweiterte Suchfunktionen mit einer Amazon S3 S3-Vektor-Engine
<a name="s3-vector-opensearch-integration-engine"></a>

Amazon OpenSearch Service bietet die Möglichkeit, Amazon S3 als Vektor-Engine für Vektorindizes zu verwenden. Diese Funktion ermöglicht es Ihnen, Vektordaten auf Amazon S3 auszulagern und gleichzeitig die Vektorsuchfunktionen in Sekundenbruchteilen zu niedrigen Kosten beizubehalten.

Mit dieser Funktion werden Vektoreinbettungen in einem Amazon S3 S3-Vektorindex OpenSearch gespeichert, während andere Dokumentfelder im Speicher des OpenSearch Clusters verbleiben. Diese Architektur bietet die folgenden Vorteile:
+ **Haltbarkeit**: In S3 Vectors geschriebene Daten werden auf S3 gespeichert, das für eine Datenbeständigkeit von 11 bis 9 Sekunden ausgelegt ist.
+ **Skalierbarkeit**: Laden Sie große Vektordatensätze auf S3 aus, ohne Cluster-Speicher zu verbrauchen.
+ **Wirtschaftlichkeit**: Optimieren Sie die Speicherkosten für vektorlastige Workloads.

OpenSearch hat die folgenden Anforderungen für die Verwendung von S3-Vektorindizes:
+ OpenSearch Version 2.19 oder höher
+ OpenSearch Optimierte Instanzen
+ Aktuelle Patch-Version für Ihr OpenSearch Release

## S3-Vektoren aktivieren
<a name="s3-vector-opensearch-integration-engine-enable"></a>

Wenn Sie [eine neue Domain erstellen](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) oder eine bestehende Domain aktualisieren, können Sie im Abschnitt **Erweiterte Funktionen** die **Option S3-Vektoren als Engine aktivieren** auswählen. Mit dieser Einstellung können OpenSearch Sie einen S3-Vektor-Bucket erstellen, wenn Sie S3-Vektoren als Engine verwenden. Wenn Sie diese Option aktivieren, OpenSearch konfiguriert Sie S3 Vectors für Ihre Domain wie folgt:

1. Zwei neue Grants für den mit Ihrer Domain konfigurierten AWS KMS Schlüssel erstellen:
   + Ein Zuschuss für die Indexierungsaufträge im Hintergrund von S3 Vectors mit Entschlüsselungsrechten
   + Ein Zuschuss für die Erstellung OpenSearch von S3-Vektor-Buckets mit Berechtigungen `GenerateDataKey`

1. Konfiguration des KMS-Schlüssels, der von Ihrer OpenSearch Domain als CMK für die Verschlüsselung aller übrigen Vektorindexdaten verwendet wird.

## Indizes mit der S3-Vektor-Engine erstellen
<a name="s3-vector-opensearch-integration-engine-creating-indexes"></a>

Nachdem Sie eine Domain konfiguriert haben, können Sie einen oder mehrere k-NN-Indizes mit Feldern erstellen, die `s3vector` als Backend-Vektor-Engine in den Indexzuordnungen verwendet werden. Sie können je nach Anwendungsfall verschiedene Vektorfelder mit unterschiedlichen Engine-Typen konfigurieren.

**Wichtig**  
Sie können die `s3vector` Engine nur verwenden, um eine Felddefinition während der Indexerstellung zuzuordnen. Sie können die Zuordnung mit der `s3vector` Engine nach der Indexerstellung nicht hinzufügen oder aktualisieren.

Hier sind einige Beispiele, die S3-Vektor-Engine-Indizes erstellen.

**Beispiel: Erstellen eines k-NN-Indexes mit der S3-Vektor-Engine**

```
PUT my-first-s3vector-index
{
  "settings": {
    "index": {
      "knn": true
    }
  },
  "mappings": {
    "properties": {
        "my_vector_1": {
          "type": "knn_vector",
          "dimension": 2,
          "space_type": "l2",
          "method": {
            "engine": "s3vector"
          }
        },
        "price": {
          "type": "float"
        }
    }
  }
}
```

**Beispiel: Erstellung eines k-NN-Index sowohl mit der S3-Vektor- als auch mit der FAISS-Engine**

Dieses Beispiel unterstreicht die Tatsache, dass Sie mehrere Vektor-Engines innerhalb desselben Index verwenden können.

```
PUT my-vector-index
{
  "settings": {
    "index": {
      "knn": true
    }
  },
  "mappings": {
    "properties": {
        "my_vector_1": {
          "type": "knn_vector",
          "dimension": 2,
          "space_type": "l2",
          "method": {
            "engine": "s3vector"
          }
        },
        "price": {
          "type": "float"
        },
        "my_vector_2": {
            "type": "knn_vector",
            "dimension": 2,
            "space_type": "cosine",
            "method": {
                "name": "hnsw",
                "engine": "faiss",
                "parameters": {
                    "ef_construction": 128,
                    "m": 24
                }
            }
        }
    }
  }
}
```

**Nicht unterstütztes Beispiel: Hinzufügen einer S3-Vektor-Engine nach der Indexerstellung**

Der folgende Ansatz wird nicht unterstützt und schlägt fehl.

```
PUT my-first-s3vector-index
{
  "settings": {
    "index": {
      "knn": true
    }
  }
}

PUT my-first-s3vector-index/_mapping
{
  "properties": {
        "my_vector_1": {
          "type": "knn_vector",
          "dimension": 2,
          "space_type": "l2",
          "method": {
            "engine": "s3vector"
          }
        },
        "price": {
          "type": "float"
        }
    }
}
```

## Funktionelle Einschränkungen
<a name="s3-vector-opensearch-integration-engine-functional-limitations"></a>

Beachten Sie die folgenden Einschränkungen, bevor Sie die `s3vector` Engine in einem Index verwenden:


**Funktionen und Verhaltensweisen, die von der s3vector-Engine nicht unterstützt werden**  

| Feature | Behavior | 
| --- | --- | 
| Split/Shrink/Clone-Index | Diese APIs schlagen fehl, wenn sie mit einem Index verwendet werden, der mit der `s3vector` Engine im `knn_vector` Feld konfiguriert ist. | 
| -Snapshots | Indizes, die die `s3vector` Engine verwenden, unterstützen keine Snapshots. Für verwaltete Domänen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/opensearch-service/latest/developerguide/s3-vector-opensearch-integration-engine.html) Snapshots werden zwar nicht für die point-in-time Wiederherstellung unterstützt, aber die `s3vector` Engine bietet zusammen mit OpenSearch optimierten Instanzen eine Haltbarkeit von 11 Neunen.  | 
| UltraWarm Stufe | Mit der `s3vector` Engine konfigurierte Indizes können nicht zur UltraWarm Stufe migriert werden. | 
| Cluster-übergreifende Replikation | Mit der `s3vector` Engine konfigurierte Indizes unterstützen keine clusterübergreifende Replikation. | 
| Schutz vor versehentlichem Löschen | Da Snapshots für Indizes, die die `s3vector` Engine verwenden, nicht unterstützt werden, ist der Schutz vor versehentlichem Löschen nicht verfügbar. Sie können weiterhin andere Indizes in der Domain wiederherstellen. | 
| Radiale Suche | Abfragen mit radialer Suche werden für Felder, die die `s3vector` Engine verwenden, nicht unterstützt. | 

## Dokumente werden indexiert
<a name="s3-vector-opensearch-integration-engine-index-documents"></a>

Nachdem Sie einen Index mit der S3-Vektor-Engine erstellt haben, können Sie Dokumente mithilfe der `_bulk` Standard-API aufnehmen. OpenSearch überträgt Vektordaten von `knn_vector` Feldern, die die `s3vector` Engine verwenden, automatisch in Echtzeit in den S3-Vektorindex. Daten, die zu anderen Feldern oder `knn_vector` Feldern gehören, die andere Engines verwenden, werden OpenSearch in einer eigenen Speicherebene gespeichert.

 OpenSearch Garantiert für alle bestätigten Sammelanfragen, dass alle Daten (Vektordaten und Nicht-Vektordaten) dauerhaft sind. Wenn eine Anfrage negativ bestätigt wird, gibt es keine Garantie für die Haltbarkeit der Dokumente in dieser Sammelanfrage. Sie sollten solche Anfragen am besten nach dem Löschen der vorherigen fehlgeschlagenen Anfrage unter Verwendung der Dokument-ID erneut versuchen, um in diesen seltenen Fällen doppelte Dokumente zu vermeiden.

**Beispiel für eine Massenindizierung**

```
POST _bulk
{ "index": { "_index": "my-first-s3vector-index", "_id": "1" } }
{ "my_vector_1": [1.5, 2.5], "price": 12.2 }
{ "index": { "_index": "my-first-s3vector-index", "_id": "2" } }
{ "my_vector_1": [2.5, 3.5], "price": 7.1 }
{ "index": { "_index": "my-first-s3vector-index", "_id": "3" } }
{ "my_vector_1": [3.5, 4.5], "price": 12.9 }
{ "index": { "_index": "my-first-s3vector-index", "_id": "4" } }
{ "my_vector_1": [5.5, 6.5], "price": 1.2 }
{ "index": { "_index": "my-first-s3vector-index", "_id": "5" } }
{ "my_vector_1": [4.5, 5.5], "price": 3.7 }
```

## Dokumente durchsuchen
<a name="s3-vector-opensearch-integration-engine-searching-documents"></a>

Sie können Ihren Index mithilfe der `_search` Standard-API durchsuchen, um Text-, k-NN- oder Hybridanfragen auszuführen. Lädt bei Abfragen von `knn_vector` Feldern, die mit der `s3vector` Engine konfiguriert wurden, die Abfrage OpenSearch automatisch in den entsprechenden S3-Vektorindex.

**Anmerkung**  
Mit der `s3vector` Engine unterstützen k-NN-Suchanfragen einen `k` Maximalwert von 100. Das bedeutet, dass in den Suchergebnissen maximal 100 nächste Nachbarn zurückgegeben werden können.

**Beispiel für eine Suchabfrage**

```
GET my-first-s3vector-index/_search
{
  "size": 2,
  "query": {
    "knn": {
      "my_vector_1": {
        "vector": [2.5, 3.5],
        "k": 2
      }
    }
  }
}
```

Mit der s3vector-Engine können Sie eine gefilterte Vektorsuche OpenSearch im kNN-Index ausführen. OpenSearch wendet den Filter als Nachfilter an und verwendet einen Oversampling-Mechanismus, der auf bestimmten Heuristiken basiert, um ein Gleichgewicht zwischen Abruf und Latenz herzustellen.

**Beispiel für eine Suchabfrage mit Filter:**

```
GET my-index/_search
{
  "size": 10,
  "query": {
    "knn": {
      "my_vector_field": {
        "vector": [2.5, 3.5, 1.2, 4.8],
        "k": 10,
        "filter": {
          "range": {
            "price": {
              "gte": 10,
              "lte": 100
            }
          }
        }
      }
    }
  }
}
```

## Unterstützte Zuordnungsparameter
<a name="s3-vector-opensearch-integration-engine-supported-mapping-parameters"></a>

Mit der `s3vector` Engine unterstützt das `knn_vector` Feld die folgenden Parameter in den Zuordnungen.


**Vektor-Feldparameter**  

| Parameter | Erforderlich | Description | Unterstützte Werte | 
| --- | --- | --- | --- | 
| type | Ja | Der Feldtyp, der im Dokument vorhanden ist. | knn\_vector | 
| dimension | Ja | Die Dimension jedes Vektors, der in den Index aufgenommen wird. | >0, <=4096 | 
| space\_type | Nein | Der Vektorraum, der zur Berechnung des Abstands zwischen Vektoren verwendet wird. | l2, cosinesimil | 
| method.engine | Ja | Die ungefähre k-NN-Engine, die für Indizierung und Suche verwendet werden soll. | s3vector | 
| method.name | Nein | Die Methode „Nächster Nachbar“ | "" | 
| store | – | Das Aktivieren oder Deaktivieren dieses Zuordnungsparameters ist nicht erforderlich, da knn\_vector-Daten nicht in gespeichert werden. OpenSearch | Nicht unterstützt | 
| doc\_values | – | Das Aktivieren oder Deaktivieren dieses Zuordnungsparameters ist nicht erforderlich, da knn\_vector-Daten nicht in gespeichert werden. OpenSearch | Nicht unterstützt | 

**Wichtig**  
Verschachtelte Feldtypen werden von `knn_vector` der Engine nicht unterstützt `s3vector`

## Erfassung und Abrechnung
<a name="s3-vector-opensearch-integration-engine-metering-billing"></a>

Informationen zur Erfassung und Abrechnung dieser Funktion finden Sie unter [Amazon OpenSearch Service-Preise](https://aws.amazon.com/opensearch-service/pricing/).

## Deaktivierung der s3vector-Engine
<a name="s3-vector-opensearch-integration-engine-disable"></a>

Bevor Sie die `s3vector` Engine deaktivieren, löschen Sie *alle* Indizes, die sie derzeit verwenden. Andernfalls schlägt jeder Versuch, die Engine zu deaktivieren, fehl.

Beachten Sie auch, dass die Aktivierung oder Deaktivierung der `s3vector` Engine eine [blaue/grüne Bereitstellung](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes.html) auf Ihrer Domain auslöst.

Um die `s3vector` Engine zu deaktivieren, [bearbeiten Sie Ihre Domain-Konfiguration](https://docs.aws.amazon.com/cli/latest/reference/opensearch/update-domain-config.html) und stellen Sie sie ein. `S3VectorsEngine.Enabled: false`