(Pratinjau) Kemampuan pencarian lanjutan dengan mesin vektor Amazon S3 - OpenSearch Layanan Amazon

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

(Pratinjau) Kemampuan pencarian lanjutan dengan mesin vektor Amazon S3

penting

Integrasi Vektor Amazon S3 dengan OpenSearch Layanan dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

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

Saat membuat domain baru atau memperbarui domain 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

  2. 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

Setelah mengonfigurasi domain, Anda dapat membuat satu atau lebih indeks K-nn dengan bidang yang digunakan 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

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:

  • Snapshot otomatis hanya menyertakan indeks yang tidak menggunakan s3vector mesin.

  • Permintaan snapshot manual untuk s3vector indeks gagal.

catatan

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 pencarian radial tidak didukung pada bidang yang menggunakan s3vector mesin.

Dokumen pengindeksan

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 harus mencoba kembali permintaan tersebut.

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

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, semantik penyegaran hanya berlaku untuk bidang yang tidak menggunakan s3vector mesin. Namun, data vektor Anda yang diturunkan s3vector akan terlihat segera setelah dokumen berhasil diindeks.

Contoh permintaan pencarian

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

Parameter pemetaan yang didukung

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

Parameter bidang vektor
Parameter Wajib 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 ""
penting

Jenis knn_vector bidang bersarang tidak didukung menggunakan mesin s3vector

Pengukuran dan penagihan

Sampai pengukuran diumumkan, fitur ini tidak akan ditagih.

Menonaktifkan mesin s3vector

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 di domain Anda.

Untuk menonaktifkan s3vector mesin, edit konfigurasi domain Anda dan aturS3VectorsEngine.Enabled: false.