Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Pencarian vektor pertama Anda
Bayangkan katalog produk di mana pembeli menggambarkan apa yang mereka inginkan dengan kata-kata mereka sendiri alih-alih mencocokkan kata kunci yang tepat. Anda dapat menyimpan penyematan vektor dari setiap deskripsi produk di DynamoDB dan kemudian menanyakan indeks vektor untuk menemukan kecocokan terdekat.
Tutorial ini membuat tabel dengan indeks vektor, menghasilkan penyematan 1024 dimensi dengan Amazon Bedrock Titan Text Embeddings V2, memuat 50 produk, dan menjalankan pencarian kesamaan yang mengembalikan 5 kecocokan terdekat. Setiap perintah dapat ditempelkan langsung ke terminal. Untuk latar belakang tentang cara kerja embedding dengan DynamoDB, lihat. Menghasilkan penyematan vektor
Tentang skala dan ingatan
Indeks vektor produksi menyimpan jutaan hingga miliaran vektor. Indeks vektor menggunakan perkiraan pencarian tetangga terdekat, dan karakteristik ingatan dari pendekatan itu menjadi dapat diamati hanya pada skala yang jauh lebih besar. Perlakukan katalog 50 item di sini sebagai demonstrasi mekanik. Untuk panduan tentang ukuran dan penyetelan, lihatPraktik terbaik untuk indeks vektor.
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
-
AWS CLI versi 2.36.16 atau yang lebih baru. Dukungan indeks vektor ditambahkan ke AWS CLI dan AWS SDK dalam pembaruan model layanan yang dirilis pada 4 Agustus 2026. Versi sebelumnya tidak mengenali
--vector-indexesparameter atausearch-vectorsperintah. Periksa versi Anda denganaws --versiondan tingkatkan jika diperlukan. Jika Anda menggunakan AWS SDK sebagai pengganti AWS CLI, Anda memerlukanbotocore1.43.64 atau yang lebih baru, atau rilis setara dari SDK bahasa Anda. -
Kredensi dengan izin untuk tindakan Dynamo
CreateTableDBDescribeTable,,PutItem,BatchWriteItem,Scan,SearchVectors,UpdateTableDeleteTable, dan untuk tindakan Amazon Bedrock.InvokeModeldynamodb:SearchVectorsadalah tindakan baru, jadi kebijakan yang ada yang memberikan akses baca DynamoDB tidak menyertakannya. -
Akses ke model Titan Text Embeddings V2 diaktifkan di Amazon Bedrock untuk akun dan Wilayah Anda. Akses model Amazon Bedrock diberikan per akun dan per Wilayah, jadi Anda harus mengaktifkan model sebelum dapat memanggilnya.
-
jqdiinstal untuk membentuk kembali output model ke dalam format DynamoDB. -
Wilayah di mana indeks vektor DynamoDB dan Amazon Bedrock Titan Text Embeddings V2 tersedia. Ketersediaan model Amazon Bedrock bervariasi menurut Wilayah dan umumnya lebih sempit daripada cakupan Wilayah DynamoDB, jadi konfirmasikan keduanya sebelum Anda memilih Wilayah. Untuk ketersediaan model Amazon Bedrock, lihat Dukungan model berdasarkan Wil AWS ayah di Panduan Pengguna Amazon Bedrock.
Biaya
Tutorial ini dikenakan biaya untuk pemanggilan model Amazon Bedrock dan penyimpanan DynamoDB. Itu membuat 51 panggilan penyematan, masing-masing ditagih sebagai permintaan inferensi Amazon Bedrock, pada input kalimat tunggal pendek. Biaya penyimpanan DynamoDB berlaku selama tabel dan indeks vektor ada.
Konfirmasikan Wilayah mana yang Anda gunakan
Setiap perintah dalam tutorial ini harus berjalan di Wilayah yang sama. Konfirmasikan Wilayah yang benar-benar AWS CLI akan digunakan sebelum Anda mulai, karena AWS_REGION lebih diutamakanAWS_DEFAULT_REGION, dan keduanya diutamakan daripada region pengaturan dalam file AWS CLI konfigurasi Anda. Nilai terses AWS_REGION at di shell Anda membuat tabel di tempat lain selain Wilayah yang Anda inginkan, dan model Amazon Bedrock mungkin tidak diaktifkan di sana. Untuk menghilangkan semua keraguan, berikan --region
secara eksplisit setiap perintah.region
SearchVectorsmenggunakan titik akhir yang terpisah
SearchVectorsmenyelesaikan ke titik akhir pencarian khusus daripada titik akhir DynamoDB standar. Di Wilayah komersial, permintaan masuk kesearch-dynamodb., sementara setiap operasi lain dalam tutorial ini masuk keregion.amazonaws.comdynamodb.. Varian FIPS dan dual-stack mengikuti pola yang sama. Ini memiliki dua konsekuensi:region.amazonaws.com
-
Jika jaringan Anda membatasi lalu lintas keluar melalui titik akhir VPC, proxy, atau daftar izin keluar, Anda harus mengizinkan nama host pencarian juga. Jika tidak
CreateTabledan operasi tulis berhasil dan hanyaSearchVectorsgagal, biasanya dengan kesalahan koneksi yang tidak menunjukkan penyebabnya. -
Jangan gunakan
--endpoint-urluntuk mengganti titik akhir DynamoDB untuk perintah ini. Satu penggantian tidak dapat melayani kedua nama host dan akan merusak perutean pencarian.
-
Buat tabel dengan indeks vektor. Ini membuat
Productstabel dengan indeks vektor bernamaDescriptionIndexpadaDescriptionVectoratribut. Indeks menggunakan fungsiCOSINEjarak dengan 1024 dimensi untuk mencocokkan keluaran Titan Text Embeddings V2. Karena tidak ada kunci partisi indeks vektor yang ditentukan, Anda tidakSearchConditionExpressionperlu mencari.aws dynamodb create-table \ --table-name Products \ --attribute-definitions AttributeName=ProductId,AttributeType=S \ --key-schema AttributeName=ProductId,KeyType=HASH \ --billing-mode PAY_PER_REQUEST \ --vector-indexes \ "[ { \"IndexName\": \"DescriptionIndex\", \"VectorAttribute\": {\"AttributeName\": \"DescriptionVector\"}, \"Projection\": {\"ProjectionType\": \"ALL\"}, \"Dimensions\": 1024, \"DistanceFunction\": \"COSINE\" } ]"Contoh ini menggunakan
ProjectionTypeALLsehingga setiap atribut tersedia untuk hasil pencarian. Jika Anda menggunakannya sebagaiINCLUDEgantinya, perhatikan bahwa anggaran atribut non-kunci yang diproyeksikan dibagikan: atribut vektor dihitung sebagai satu atribut, dan setiap elemen skemaINLINE_FILTERpencarian dihitung sebagai satu.HASHelemen skema pencarian tidak dihitung terhadap batas. -
Tunggu indeks menjadi aktif. Jalankan ini sampai
IndexStatussekarangACTIVE.aws dynamodb describe-table \ --table-name Products \ --query 'Table.VectorIndexes[0].[IndexName,IndexStatus,Backfilling]'Untuk indeks yang dibuat sebagai bagian dari
CreateTable, seperti dalam tutorialBackfillingini, tidak dilaporkan dan perintah kembalinulluntuk itu. GunakanIndexStatussendiri sebagai sinyal Anda dalam kasus ini.Backfillingdilaporkan untuk indeks vektor yang Anda tambahkan ke tabel yang adaUpdateTable. Dalam hal ini, tunggu sampaiIndexStatusACTIVEBackfillingadafalsesebelum Anda mengandalkan hasil pencarian yang lengkap.Tunggu indeks, bukan hanya tabel
Jangan gunakan
aws dynamodb wait table-existsuntuk menggerakkan pencarian. Pelayan itu cocokTable.TableStatus, yang menjadiACTIVEsementara indeks vektor masih bisaCREATING. Tidak ada pelayan untuk kesiapan indeks vektor, jadi Anda harus melakukan pollingDescribeTableseperti yang ditunjukkan. Mencari indeks yang belumACTIVEgagal, dan mencari selama pengisian ulang dapat mengembalikan hasil yang tidak lengkap.Untuk alasan yang sama, Anda tidak dapat menghapus tabel sampai setiap indeks vektor selesai dibuat.
DeleteTablekembaliResourceInUseExceptiondengan pesan “Tidak dapat menghapus tabel saat indeks sedang dibuat, diperbarui, atau dihapus.” -
Buat katalog produk. Simpan 50 produk berikut ke file yang dipisahkan tab bernama.
products.tsvSetiap baris berisi ID produk, nama, dan deskripsi satu kalimat. Katalog berisi sepuluh kelompok lima produk terkait, yang membuat hasil pencarian pada langkah terakhir mudah ditafsirkan.p01 Insulated Travel Mug A vacuum insulated stainless steel mug that keeps hot drinks warm for up to twelve hours. p02 Stovetop Espresso Maker A compact aluminum pot that brews strong espresso style coffee directly on a gas or electric burner. p03 Manual Burr Coffee Grinder A hand cranked grinder with adjustable ceramic burrs for consistent coffee grounds. p04 Pour Over Coffee Dripper A ceramic cone that sits on a mug and brews a single cup of filter coffee. p05 Electric Milk Frother A handheld battery powered whisk that creates dense foam for lattes and cappuccinos. p06 Lightweight Running Shoe A breathable mesh road shoe with cushioned foam midsole for daily training runs. p07 Trail Running Shoe An aggressive lugged outsole shoe built for grip on loose gravel and muddy trails. p08 Moisture Wicking Running Socks Ankle height socks knitted from synthetic yarn that pulls sweat away from the skin. p09 Reflective Running Vest A lightweight vest with high visibility strips for running safely after dark. p10 Hydration Waist Belt An elastic belt that holds two small water flasks and a phone during long runs. p11 Ergonomic Mesh Office Chair An adjustable desk chair with breathable mesh back and lumbar support for long work sessions. p12 Sit Stand Desk Converter A height adjustable platform that raises a monitor and keyboard for standing work. p13 Monitor Arm Mount A clamp mounted articulating arm that lifts a display off the desk surface. p14 Under Desk Footrest An angled cushioned platform that supports the feet and improves seated posture. p15 Wireless Split Keyboard A two piece keyboard that separates for a natural shoulder width typing position. p16 Noise Cancelling Headphones Over ear wireless headphones that actively silence engine noise on long flights. p17 Wireless Earbuds Compact in ear buds with a charging case and multi hour battery for commuting. p18 Portable Bluetooth Speaker A water resistant rechargeable speaker sized to fit in a backpack side pocket. p19 Studio Monitor Headphones Wired closed back headphones with flat frequency response for audio mixing. p20 Wired Lapel Microphone A small clip on microphone for recording clear speech during interviews. p21 Four Season Backpacking Tent A double wall tent with an aluminum pole set rated for wind and heavy rain. p22 Down Sleeping Bag A mummy shaped bag filled with compressible down insulation for cold weather camping. p23 Inflatable Sleeping Pad A lightweight pad that inflates in a few breaths and packs down to bottle size. p24 Canister Camping Stove A screw on burner that boils water quickly using a compact fuel canister. p25 Rechargeable Camp Lantern A collapsible lantern with adjustable brightness and a built in battery. p26 Cast Iron Skillet A preseasoned heavy pan that holds heat evenly for searing and oven baking. p27 Nonstick Frying Pan A coated aluminum pan that releases eggs and fish without added oil. p28 Stainless Steel Stock Pot A tall wide pot for boiling pasta and simmering large batches of soup. p29 Enameled Dutch Oven A heavy lidded pot that moves from stovetop to oven for slow braising. p30 Bamboo Cutting Board A large reversible board with a juice groove around the edge. p31 Padded Laptop Backpack A water resistant pack with a suspended sleeve that protects a fifteen inch laptop. p32 Slim Laptop Sleeve A close fitting neoprene case that shields a notebook inside a larger bag. p33 Rolling Carry On Suitcase A hard shell four wheel case sized to fit most overhead cabin bins. p34 Packing Cube Set Zippered fabric cubes that compress clothing and organize a suitcase. p35 Leather Messenger Bag A single strap shoulder bag with a padded compartment and interior pockets. p36 Daily Facial Moisturizer A light lotion with humectants that hydrates skin without leaving residue. p37 Mineral Sunscreen Lotion A broad spectrum zinc based sunscreen formulated for sensitive facial skin. p38 Gentle Foaming Cleanser A low pH face wash that removes oil and sunscreen without stripping the skin. p39 Vitamin C Serum A brightening serum applied before moisturizer to even skin tone over time. p40 Overnight Repair Cream A rich night cream with ceramides that restores the skin barrier while sleeping. p41 Stainless Steel Dog Bowl A weighted nonslip bowl that resists tipping during enthusiastic feeding. p42 Padded Dog Harness An adjustable chest harness that distributes pull away from the neck on walks. p43 Retractable Dog Leash A spring loaded leash that extends and locks at several walking lengths. p44 Interactive Cat Puzzle Feeder A slow feed tray that makes a cat work for dry food and eat more slowly. p45 Self Cleaning Litter Box An enclosed box with a raking mechanism that sifts waste after each use. p46 Bypass Pruning Shears Sharp hardened blades that make clean cuts on green stems and small branches. p47 Long Handled Garden Spade A steel bladed spade with a wooden shaft for turning soil and digging beds. p48 Adjustable Hose Spray Nozzle A metal nozzle that shifts from a fine mist to a strong jet stream. p49 Raised Garden Bed Kit Interlocking cedar panels that assemble into an elevated planting box. p50 Drip Irrigation Starter Kit Tubing and emitters that deliver water slowly to the base of each plant.Pemisah antara tiga bidang harus berupa karakter tab literal. Jika Anda menyalin katalog dari browser, verifikasi bahwa tab bertahan sebelum Anda melanjutkan.
-
Menghasilkan embedding untuk satu produk. Jalankan panggilan penyematan tunggal terlebih dahulu untuk mengonfirmasi bahwa akses model Amazon Bedrock Anda berfungsi. Bid
inputTextang berisi teks untuk disematkan,dimensionsmenetapkan ukuran keluaran (nilai yang valid adalah 256, 512, atau 1024), dannormalizemenghasilkan vektor panjang unit, yang direkomendasikan untuk pencarian kesamaan kosinus.mkdir -p emb aws bedrock-runtime invoke-model \ --model-id amazon.titan-embed-text-v2:0 \ --body '{"inputText":"A vacuum insulated stainless steel mug that keeps hot drinks warm for up to twelve hours.","dimensions":1024,"normalize":true}' \ --cli-binary-format raw-in-base64-out \ --content-type application/json \ --accept application/json \ emb/p01.json--cli-binary-format raw-in-base64-outBendera diperlukan. AWS CLI v2 default ke pengkodean base64 untuk parameter biner, jadi tanpa tanda ini badan JSON mentah gagal mengirim dengan benar. Tanggapan ditulis keemb/p01.jsondan berisiembeddingarray 1024 angka floating-point. Konfirmasikan jumlah dimensi.jq '.embedding | length' emb/p01.jsonOutputnya adalah
1024. -
Tulis produk pertama. Ubah penyematan ke dalam format item DynamoDB dan tulis. Atribut vektor yang disimpan menggunakan tipe DynamoDB
L(list) yang membungkus setiap angka dalam suatuNtipe.jq '{"ProductId":{"S":"p01"},"Title":{"S":"Insulated Travel Mug"},"DescriptionVector":{"L":[.embedding[]|{"N":(.|tostring)}]}}' emb/p01.json > item-p01.json aws dynamodb put-item --table-name Products --item file://item-p01.jsonUkuran vektor dan batas item
Vektor 1024 dimensi menambahkan sekitar 32 KB ke payload permintaan dan sekitar 5 KB ke item yang disimpan, jauh dalam batas ukuran item DynamoDB 400 KB. Jumlah dimensi adalah pendorong utama ukuran item saat Anda menyimpan penyematan.
-
Sematkan produk yang tersisa. Loop ini menghasilkan penyematan untuk setiap produk yang tersisa. Ini melewatkan file apa pun yang sudah ada, sehingga Anda dapat menjalankannya kembali dengan aman jika panggilan gagal.
while IFS=$'\t' read -r id title description; do [ -s "emb/$id.json" ] && continue body=$(jq -n --arg t "$description" '{inputText:$t,dimensions:1024,normalize:true}') aws bedrock-runtime invoke-model \ --model-id amazon.titan-embed-text-v2:0 \ --body "$body" \ --cli-binary-format raw-in-base64-out \ --content-type application/json \ --accept application/json \ "emb/$id.json" >/dev/null || echo "FAILED $id" done < products.tsv ls emb/*.json | wc -lHitungannya harus 50 sebelum Anda melanjutkan. Jika ada panggilan yang dicetak
FAILED, jalankan loop lagi; itu mencoba lagi hanya file yang hilang.InvokeModel kuota tarif
Amazon Bedrock menerapkan kuota tarif permintaan ke
InvokeModel. Jika Anda memodifikasi loop ini untuk mengeluarkan panggilan secara paralel, harapkan pengecualian pembatasan pada beberapa panggilan, dan selalu verifikasi jumlah file akhir daripada mengasumsikan setiap panggilan berhasil. Katalog tertanam sebagian dimuat tanpa kesalahan dan menghasilkan hasil pencarian yang secara diam-diam menghilangkan produk yang hilang. -
Muat produk yang tersisa. Membangun muatan permintaan masing-masing 25 item, yang merupakan maksimum yang diterima
BatchWriteItem.batch=0 count=0 echo -n '{"Products":[' > batch-0.json while IFS=$'\t' read -r id title description; do if [ "$count" -eq 25 ]; then echo ']}' >> "batch-$batch.json" batch=$((batch+1)); count=0 echo -n '{"Products":[' > "batch-$batch.json" fi [ "$count" -gt 0 ] && echo -n ',' >> "batch-$batch.json" jq -c --arg id "$id" --arg title "$title" \ '{PutRequest:{Item:{ProductId:{S:$id},Title:{S:$title}, DescriptionVector:{L:[.embedding[]|{"N":(.|tostring)}]}}}}' \ "emb/$id.json" >> "batch-$batch.json" count=$((count+1)) done < <(tail -n +2 products.tsv) echo ']}' >> "batch-$batch.json"Loop membaca dari pengalihan daripada pipa karena
whileloop pipa berjalan di subshell di beberapa shell, yang membuangcountnilaibatchdan dan menghasilkan file batch yang salah format.Kirim setiap batch.
BatchWriteItemsebagian dapat berhasil, jadi kirimkan kembali apa pun yang dikembalikannya.UnprocessedItemsfor f in batch-*.json; do cp "$f" pending.json for attempt in 1 2 3 4 5; do aws dynamodb batch-write-item \ --request-items file://pending.json \ --output json > resp.json left=$(jq '(.UnprocessedItems.Products // []) | length' resp.json) echo "$f attempt $attempt: unprocessed=$left" [ "$left" -eq 0 ] && break jq '.UnprocessedItems' resp.json > pending.json sleep 2 done doneKonfirmasikan bahwa semua 50 item hadir.
aws dynamodb scan --table-name Products --select COUNT --query 'Count'ItemCount pembaruan tertunda
IndexSizeBytesNilaiItemCountdan yangDescribeTabledilaporkan untuk indeks vektor diperbarui kira-kira setiap enam jam, jadi segera setelah pemuatan mereka masih dapat membaca0meskipun setiap item ditulis. GunakanScandengan--select COUNT, seperti yang ditunjukkan, untuk memverifikasi beban. Jangan memperlakukan nolItemCountsebagai beban yang gagal. -
Hasilkan penyisipan kueri dan pencarian. Sematkan frasa pencarian dengan model dan jumlah dimensi yang sama yang Anda gunakan untuk item yang disimpan.
aws bedrock-runtime invoke-model \ --model-id amazon.titan-embed-text-v2:0 \ --body '{"inputText":"How can I make my desk more comfortable to work at","dimensions":1024,"normalize":true}' \ --cli-binary-format raw-in-base64-out \ --content-type application/json \ --accept application/json \ embedding-query.jsonSearchVector format berbeda dari format vektor yang disimpan
Saat Anda menyimpan vektor dalam atribut item, Anda membungkusnya dalam tipe
L(daftar):{"L":[{"N":"0.123"},...]}. Saat Anda meneruskan vektor kueri keSearchVectors, Anda menggunakan arrayNnilai biasa tanpa pemLbungkus:[{"N":"0.123"},...].jqTransformasi berikut berbeda dari yang Anda gunakan untuk item yang disimpan karena alasan ini. Untuk informasi selengkapnya, lihat Pencarian dasar.jq '[.embedding[]|{"N":(.|tostring)}]' embedding-query.json > query-vector.json aws dynamodb search-vectors \ --table-name Products \ --index-name DescriptionIndex \ --search-vector file://query-vector.json \ --top-k 5 \ --projection-expression "ProductId, Title" \ --return-consumed-capacity TOTALVektor kueri dan vektor yang disimpan harus berasal dari model embedding yang sama dan harus memiliki jumlah dimensi yang sama. Menggunakan model atau jumlah dimensi yang berbeda menghasilkan hasil yang tidak berarti atau kesalahan validasi.
-
Baca hasilnya. DynamoDB mengembalikan hasil yang diurutkan berdasarkan kesamaan, dengan item yang paling mirip terlebih dahulu. Setiap hasil berisi
Itematribut yang diproyeksikan dan aScore.{ "SearchResults": [ { "Item": { "ProductId": { "S": "p11" }, "Title": { "S": "Ergonomic Mesh Office Chair" } }, "Score": 0.6130197048187256 }, { "Item": { "ProductId": { "S": "p12" }, "Title": { "S": "Sit Stand Desk Converter" } }, "Score": 0.781868577003479 }, { "Item": { "ProductId": { "S": "p14" }, "Title": { "S": "Under Desk Footrest" } }, "Score": 0.816369354724884 }, { "Item": { "ProductId": { "S": "p13" }, "Title": { "S": "Monitor Arm Mount" } }, "Score": 0.8283305168151855 }, { "Item": { "ProductId": { "S": "p15" }, "Title": { "S": "Wireless Split Keyboard" } }, "Score": 0.8469693064689636 } ], "ConsumedCapacity": { "VectorSearchRequestBytes": 31449.0 } }Skor tergantung pada model penyematan dan teks input yang tepat, sehingga nilai Anda akan sedikit berbeda. Yang penting adalah item mana yang dipilih dan dalam urutan apa. Kueri tidak berisi kata kursi, monitor, atau keyboard, namun pencarian mengembalikan kelima produk meja dan kantor di depan 45 item lainnya dalam katalog. Tidak ada dari kelompok kopi, berkemah, atau hewan peliharaan yang muncul.
Coba kueri lain untuk melihat perilaku yang sama dengan grup yang berbeda. Ulangi langkah sebelumnya dengan
"Something to brew fresh coffee at home"dan hasil teratas adalah pembuat espresso, dripper tuangkan di atas, dan buih susu. Ulangi dengan"Keeping my dog safe on walks"dan tali dan harness didahulukan, diikuti oleh item yang hanya terkait secara longgar, karena katalog hanya berisi dua produk yang sangat cocok. Kasus terakhir itu perlu diperhatikan: pencarian selalu mengembalikan jumlah item yang Anda minta, bahkan ketika katalog tidak berisi banyak kecocokan yang bagus. GunakanScorenilai, bukan jumlah hasil, untuk menilai kualitas kecocokan.Cara membaca skor tergantung pada fungsi jarak yang digunakan indeks:
-
COSINEdanEUCLIDEANmengembalikan item dengan skor terkecil, jadi lebih rendah lebih mirip. Skor kosinus berkisar dari 0 untuk arah yang identik hingga 2 untuk arah yang berlawanan. -
DOT_PRODUCTmengembalikan item dengan skor tertinggi, jadi lebih tinggi lebih mirip.
Indeks ini menggunakan
COSINE, sehingga hasil pertama memiliki skor terendah. Mencari dengan teks yang identik dengan deskripsi yang disimpan mengembalikan item itu terlebih dahulu dengan skor di atau mendekati nol. -
Bersihkan
Untuk menghindari biaya yang sedang berlangsung, hapus sumber daya yang Anda buat dalam tutorial ini. Penyimpanan indeks vektor ditagih selama indeks ada, terlepas dari apakah Anda menjalankan pencarian terhadapnya atau tidak.
Untuk menghapus indeks vektor tetapi menyimpan Products tabel dan itemnya, gunakanUpdateTable. Item tetap dalam tabel dan hanya indeks yang dihapus.
aws dynamodb update-table \ --table-name Products \ --vector-index-updates \ "[ {\"Delete\": {\"IndexName\": \"DescriptionIndex\"}} ]"
Untuk menghapus tabel dan indeks vektornya bersama-sama, hapus tabel.
aws dynamodb delete-table --table-name Products
Konfirmasikan bahwa meja hilang. Perintah berikut mengembalikan ResourceNotFoundException setelah penghapusan selesai.
aws dynamodb describe-table --table-name Products
Untuk informasi selengkapnya tentang menghapus indeks vektor dari tabel yang ingin Anda simpan, lihatMenghapus indeks vektor.
Langkah selanjutnya
Setelah Anda menyelesaikan pencarian vektor dasar ini, jelajahi topik terkait ini.
-
Memfilter hasil pencarian dengan kunci partisi indeks vektor dan filter sebaris — lihatPencarian dasar.
-
Praktik terbaik untuk memilih fungsi jarak, tombol partisi, dan dimensi — lihatPraktik terbaik untuk indeks vektor.
-
Pemantauan untuk kapasitas indeks vektor dan metrik — lihatMemantau kapasitas indeks vektor.