Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemfilteran metadata
catatan
Vektor Amazon S3 sedang dalam rilis pratinjau untuk Amazon Simple Storage Service dan dapat berubah sewaktu-waktu.
Pemfilteran metadata memungkinkan Anda memfilter hasil kueri berdasarkan atribut tertentu yang dilampirkan ke vektor Anda. Anda dapat menggunakan filter metadata dengan operasi kueri untuk menemukan vektor yang cocok dengan kriteria kesamaan dan kondisi metadata tertentu.
Vektor S3 mendukung dua jenis metadata: metadata yang dapat disaring dan metadata yang tidak dapat disaring. Perbedaan utamanya adalah metadata yang dapat difilter dapat digunakan dalam filter kueri tetapi memiliki batasan ukuran yang lebih ketat, sedangkan metadata yang tidak dapat difilter tidak dapat digunakan dalam filter tetapi dapat menyimpan jumlah data yang lebih besar dalam batas ukurannya. Untuk informasi selengkapnya tentang batas metadata, termasuk batas ukuran per vektor dan kunci metadata maksimum per vektor, lihat. Keterbatasan dan pembatasan
Topik
Metadata yang dapat disaring
Metadata yang dapat disaring memungkinkan Anda memfilter hasil kueri berdasarkan nilai metadata tertentu. Secara default, semua bidang metadata dapat difilter dalam kueri kesamaan kecuali secara eksplisit ditentukan sebagai tidak dapat difilter selama pembuatan indeks vektor. Vektor S3 mendukung string, angka, boolean, dan daftar jenis metadata dengan batas ukuran per vektor. Jenis metadata ideal untuk atribut yang ingin Anda filter, seperti kategori, stempel waktu, atau nilai status.
Jika ukuran metadata melebihi batas yang didukung, operasi PutVectorsAPI akan menampilkan kesalahan. 400 Bad Request
Untuk informasi selengkapnya tentang batas ukuran metadata yang dapat difilter per vektor, lihat. Keterbatasan dan pembatasan
Operasi berikut dapat digunakan dengan metadata yang dapat disaring.
Operator | Jenis Masukan yang Valid | Deskripsi |
---|---|---|
$eq |
String, Nomor, Boolean | Perbandingan kecocokan yang tepat untuk nilai tunggal. Saat membandingkan dengan nilai metadata array, mengembalikan nilai true jika nilai masukan cocok dengan elemen apa pun dalam array. Misalnya, |
$ne |
String, Nomor, Boolean | Perbandingan tidak sama |
$gt |
Bilangan | Lebih besar dari perbandingan |
$gte |
Bilangan | Perbandingan yang lebih besar dari atau sama |
$lt |
Bilangan | Kurang dari perbandingan |
$lte |
Bilangan | Kurang dari atau sama perbandingan |
$in |
Array primitif yang tidak kosong | Cocokkan nilai apa pun dalam array |
$nin |
Array primitif yang tidak kosong | Cocokkan tidak ada nilai dalam array |
$exists |
Boolean | Periksa apakah bidang ada |
$and |
Array filter yang tidak kosong | Logis DAN berbagai kondisi |
$or |
Array filter yang tidak kosong | Logis ATAU dari beberapa kondisi |
Contoh metadata yang dapat disaring yang valid
- Kesetaraan sederhana
-
{"genre": "documentary"}
Filter ini cocok dengan vektor di mana kunci metadata genre sama dengan “dokumenter”. Bila Anda tidak menentukan operator, S3 Vectors secara otomatis menggunakan operator $eq.
- Kesetaraan eksplisit
-
// Example: Exact match {"genre": {"$eq": "documentary"}}
// Example: Not equal to {"genre": {"$ne": "drama"}}
- Perbandingan numerik
-
{"year": {"$gt": 2019}}
{"year": {"$gte": 2020}}
{"year": {"$lt": 2020}}
{"year": {"$lte": 2020}}
- Operasi array
-
{"genre": {"$in": ["comedy", "documentary"]}}
{"genre": {"$nin": ["comedy", "documentary"]}}
- Pemeriksaan keberadaan
-
{"genre": {"$exists": true}}
$exists
Filter cocok dengan vektor yang memiliki kunci metadata “genre”, terlepas dari nilai yang disimpan untuk kunci metadata tersebut. - Operasi logis
-
{"$and": [{"genre": {"$eq": "drama"}}, {"year": {"$gte": 2020}}]}
{"$or": [{"genre": {"$eq": "drama"}}, {"year": {"$gte": 2020}}]}
- Kisaran harga (Beberapa kondisi di bidang yang sama)
-
{"price": {"$gte": 10, "$lte": 50}}
Untuk informasi selengkapnya tentang cara menanyakan vektor dengan pemfilteran metadata, lihat. Pemfilteran metadata
Metadata yang tidak dapat disaring
Metadata yang tidak dapat difilter tidak dapat digunakan dalam filter kueri tetapi dapat menyimpan data kontekstual dalam jumlah yang lebih besar daripada metadata yang dapat difilter. Ini ideal untuk menyimpan potongan teks besar, deskripsi terperinci, atau informasi kontekstual lainnya yang tidak perlu dicari tetapi dapat dikembalikan dengan hasil kueri. Misalnya, Anda dapat menyimpan teks dokumen lengkap, deskripsi gambar, atau spesifikasi produk terperinci sebagai metadata yang tidak dapat difilter.
Kunci metadata yang tidak dapat difilter harus dikonfigurasi secara eksplisit selama pembuatan indeks vektor. Setelah kunci metadata ditetapkan sebagai tidak dapat difilter selama pembuatan indeks, kunci metadata tidak dapat diubah menjadi dapat difilter nanti. Anda dapat mengonfigurasi beberapa kunci metadata sebagai non-filter per indeks vektor, dengan setiap nama kunci metadata dibatasi hingga 63 karakter. Untuk informasi selengkapnya tentang jumlah maksimum kunci metadata yang tidak dapat difilter yang diizinkan per indeks vektor, lihat. Keterbatasan dan pembatasan
Meskipun Anda tidak dapat memfilter metadata yang tidak dapat difilter, Anda dapat mengambilnya bersama hasil kueri menggunakan parameter. return-metadata
Anda dapat menggunakan metadata yang tidak dapat difilter untuk beberapa kasus penggunaan sebagai berikut.
Gunakan untuk menyediakan konteks untuk aplikasi Anda tanpa mengurai sumber data terpisah.
Simpan potongan teks yang lebih besar yang akan melebihi batas ukuran metadata yang dapat difilter.
Sertakan dalam ekspor vektor dengan menggunakan operasi ListVectorsAPI.
Untuk informasi selengkapnya tentang mengonfigurasi metadata yang tidak dapat difilter, lihat. Membuat indeks vektor dalam ember vektor