

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kemampuan pencarian lanjutan dengan mesin vektor Amazon S3
<a name="s3-vector-opensearch-integration-engine"></a>

Amazon OpenSearch Service menawarkan kemampuan untuk menggunakan Amazon S3 sebagai mesin vektor untuk indeks vektor. Fitur ini memungkinkan Anda untuk membongkar data vektor ke Amazon S3 sambil mempertahankan kemampuan pencarian vektor sub-detik dengan biaya rendah.

Dengan fitur ini, OpenSearch menyimpan penyematan vektor dalam indeks vektor Amazon S3 sambil menyimpan bidang dokumen lain di penyimpanan cluster. OpenSearch Arsitektur ini menawarkan manfaat sebagai berikut:
+ **Daya tahan**: Data yang ditulis ke Vektor S3 disimpan di S3, yang dirancang untuk daya tahan data 11 9 detik.
+ **Skalabilitas**: Bongkar kumpulan data vektor besar ke S3 tanpa menghabiskan penyimpanan cluster.
+ **Efektivitas biaya: Optimalkan biaya penyimpanan untuk beban kerja** berat vektor.

OpenSearch memiliki persyaratan berikut untuk menggunakan indeks vektor S3:
+ OpenSearch versi 2.19 atau yang lebih baru
+ OpenSearch Instans yang dioptimalkan
+ Versi patch terbaru untuk OpenSearch rilis Anda

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

Saat [membuat domain baru atau memperbarui domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) yang ada, Anda dapat memilih **opsi Aktifkan Vektor S3 sebagai mesin** di bagian **Fitur lanjutan**. Pengaturan ini memungkinkan OpenSearch untuk membuat bucket vektor S3 saat Anda memanfaatkan Vektor S3 sebagai mesin Anda. Saat Anda mengaktifkan opsi ini, OpenSearch mengonfigurasi Vektor S3 untuk domain Anda dengan:

1. Membuat dua hibah baru pada AWS KMS kunci yang dikonfigurasi dengan domain Anda:
   + Hibah untuk pekerjaan pengindeksan latar belakang Vektor S3 dengan hak istimewa dekripsi
   + Hibah OpenSearch untuk membuat bucket vektor S3 dengan izin `GenerateDataKey`

1. Mengkonfigurasi kunci KMS yang digunakan oleh OpenSearch domain Anda sebagai CMK untuk enkripsi di sisa semua data indeks vektor.

## Membuat indeks dengan mesin vektor S3
<a name="s3-vector-opensearch-integration-engine-creating-indexes"></a>

Setelah Anda mengkonfigurasi domain, Anda dapat membuat satu atau lebih indeks K-nn dengan bidang menggunakan `s3vector` sebagai mesin vektor backend dalam pemetaan indeks. Anda dapat mengonfigurasi bidang vektor yang berbeda dengan jenis mesin yang berbeda berdasarkan kasus penggunaan Anda.

**penting**  
Anda hanya dapat menggunakan `s3vector` mesin dalam memetakan definisi bidang selama pembuatan indeks. Anda tidak dapat menambahkan atau memperbarui pemetaan dengan `s3vector` engine setelah pembuatan indeks.

Berikut adalah beberapa contoh yang membuat indeks mesin vektor S3.

**Contoh: Membuat indeks K-nn dengan mesin vektor S3**

```
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"
        }
    }
  }
}
```

**Contoh: Membuat indeks k-NN dengan vektor S3 dan mesin FAISS**

Contoh ini menyoroti fakta bahwa Anda dapat menggunakan beberapa mesin vektor dalam indeks yang sama.

```
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
                }
            }
        }
    }
  }
}
```

**Contoh yang tidak didukung: Menambahkan mesin vektor S3 setelah pembuatan indeks**

Pendekatan berikut tidak didukung dan akan gagal.

```
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"
        }
    }
}
```

## Keterbatasan fungsional
<a name="s3-vector-opensearch-integration-engine-functional-limitations"></a>

Pertimbangkan batasan berikut sebelum menggunakan `s3vector` mesin dalam indeks:


**Fitur dan perilaku tidak didukung dengan mesin s3vector**  

| Fitur | Perilaku | 
| --- | --- | 
| Split/Shrink/Cloneindeks | Ini APIs gagal saat digunakan dengan indeks yang dikonfigurasi dengan `s3vector` mesin di `knn_vector` lapangan. | 
| Snapshot | Indeks yang menggunakan `s3vector` mesin tidak mendukung snapshot. Untuk domain terkelola:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/s3-vector-opensearch-integration-engine.html) Meskipun snapshot tidak didukung untuk point-in-time pemulihan, `s3vector` engine, bersama dengan instans yang OpenSearch Dioptimalkan, memberikan 11 sembilan daya tahan.  | 
| UltraWarm tingkat | Indeks yang dikonfigurasi dengan `s3vector` engine tidak dapat bermigrasi ke UltraWarm tingkat. | 
| Replikasi lintas-cluster | Indeks yang dikonfigurasi dengan `s3vector` engine tidak mendukung replikasi lintas-cluster. | 
| Perlindungan penghapusan yang tidak disengaja | Karena snapshot tidak didukung untuk indeks yang menggunakan `s3vector` engine, perlindungan penghapusan yang tidak disengaja tidak tersedia. Anda masih dapat mengembalikan indeks lain di domain. | 
| Pencarian radial | Kueri dengan penelusuran radial tidak didukung pada bidang yang menggunakan `s3vector` mesin. | 

## Dokumen pengindeksan
<a name="s3-vector-opensearch-integration-engine-index-documents"></a>

Setelah membuat indeks dengan mesin vektor S3, Anda dapat menelan dokumen menggunakan API standar`_bulk`. OpenSearch secara otomatis membongkar data vektor `knn_vector` bidang menggunakan `s3vector` mesin ke indeks vektor S3 secara real time. Data milik bidang atau `knn_vector` bidang lain yang menggunakan mesin yang berbeda akan disimpan OpenSearch di lapisan penyimpanannya sendiri.

Untuk semua permintaan massal yang diakui, OpenSearch menjamin bahwa semua data (vektor dan non-vektor) tahan lama. Jika permintaan menerima pengakuan negatif, tidak ada jaminan pada daya tahan dokumen dalam permintaan massal itu. Anda sebaiknya mencoba kembali permintaan tersebut setelah menghapus permintaan gagal sebelumnya menggunakan id dokumen untuk menghindari duplikat dokumen dalam kasus yang jarang terjadi ini.

**Contoh pengindeksan massal**

```
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 }
```

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

Anda dapat mencari indeks menggunakan `_search` API standar untuk mengeksekusi kueri teks, k-NN, atau hybrid. Untuk kueri pada `knn_vector` bidang yang dikonfigurasi dengan `s3vector` engine, OpenSearch secara otomatis menurunkan kueri ke indeks vektor S3 yang sesuai.

**catatan**  
Dengan `s3vector` mesin, permintaan pencarian K-NN mendukung `k` nilai maksimum 100. Ini berarti maxmium 100 tetangga terdekat dapat dikembalikan dalam hasil pencarian.

**Contoh permintaan pencarian**

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

Anda dapat menjalankan pencarian vektor yang difilter pada indeks OpenSearch kNN menggunakan mesin s3vector. OpenSearch menerapkan filter sebagai filter pos dan menggunakan mekanisme oversampling berdasarkan heuristik tertentu untuk menyeimbangkan penarikan vs latensi.

**Contoh permintaan pencarian dengan 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
            }
          }
        }
      }
    }
  }
}
```

## Parameter pemetaan yang didukung
<a name="s3-vector-opensearch-integration-engine-supported-mapping-parameters"></a>

Dengan `s3vector` mesin, `knn_vector` bidang mendukung parameter berikut dalam pemetaan.


**Parameter bidang vektor**  

| Parameter | Diperlukan | Deskripsi | Nilai yang didukung | 
| --- | --- | --- | --- | 
| type | Ya | Jenis bidang yang ada dalam dokumen. | knn\_vector | 
| dimension | Ya | Dimensi setiap vektor yang akan dicerna ke dalam indeks. | > 0, <= 4096 | 
| space\_type | Tidak | Ruang vektor yang digunakan untuk menghitung jarak antar vektor. | l2, cosinesimil | 
| method.engine | Ya | Perkiraan mesin K-nn yang digunakan untuk pengindeksan dan pencarian. | s3vector | 
| method.name | Tidak | Metode tetangga terdekat | "" | 
| store | N/A | Mengaktifkan atau menonaktifkan parameter pemetaan ini tidak ada operasi karena data knn\_vector tidak disimpan di. OpenSearch | Tidak Didukung | 
| doc\_values | N/A | Mengaktifkan atau menonaktifkan parameter pemetaan ini tidak ada operasi karena data knn\_vector tidak disimpan di. OpenSearch | Tidak Didukung | 

**penting**  
Jenis `knn_vector` bidang bersarang tidak didukung menggunakan mesin `s3vector`

## Pengukuran dan penagihan
<a name="s3-vector-opensearch-integration-engine-metering-billing"></a>

Untuk informasi tentang pengukuran dan penagihan untuk fitur ini, lihat harga [ OpenSearch Layanan Amazon](https://aws.amazon.com/opensearch-service/pricing/).

## Menonaktifkan mesin s3vector
<a name="s3-vector-opensearch-integration-engine-disable"></a>

Sebelum Anda menonaktifkan `s3vector` mesin, hapus *semua* indeks yang saat ini menggunakannya. Jika tidak, upaya apa pun untuk menonaktifkan mesin gagal.

Perhatikan juga bahwa mengaktifkan atau menonaktifkan `s3vector` mesin memicu penyebaran [biru/hijau](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes.html) di domain Anda.

Untuk menonaktifkan `s3vector` mesin, [edit konfigurasi domain Anda](https://docs.aws.amazon.com/cli/latest/reference/opensearch/update-domain-config.html) dan atur`S3VectorsEngine.Enabled: false`.