Untuk tutorial langkah demi langkah tentang cara menerapkan penelusuran vektor dari awal hingga akhir, lihat panduan tentang cara Melakukan penelusuran vektor.
Parameter penyempurnaan
Parameter indeks dan kueri berikut digunakan untuk menemukan keseimbangan yang tepat antara perolehan dan kueri per detik (QPS).
| Parameter penyesuaian | Deskripsi | Jenis opsi |
|---|---|---|
mode |
Menentukan indeks ScaNN sebagai indeks yang disesuaikan secara otomatis atau manual. Opsi yang tersedia adalah sebagai berikut:
Untuk mengetahui informasi selengkapnya, lihat Membuat indeks ScaNN. |
Pembuatan indeks (opsional) |
max_num_levels |
Jumlah maksimum tingkat centroid pohon pengelompokan K-means. Untuk
panduan tentang cara menetapkan nilai ini, lihat
Menyesuaikan indeks ScaNN.
Nilai yang tersedia adalah sebagai berikut:
Jika Anda menetapkan |
Pembuatan indeks (opsional) |
num_leaves |
Jumlah partisi yang akan diterapkan ke indeks ini. Nilai maksimumnya adalah
30000000. Untuk mengetahui informasi selengkapnya tentang cara memilih nilai ini, lihat
Menyesuaikan indeks ScaNN
dan
Praktik terbaik untuk menyesuaikan indeks ScaNN.
|
Pembuatan indeks (diperlukan untuk indeks yang disesuaikan secara manual) |
quantizer |
Jenis quantizer yang ingin Anda gunakan untuk hierarki K-means. Nilai default ditetapkan ke SQ8 yang memberikan performa kueri yang lebih baik dengan kehilangan perolehan kembali minimal (biasanya kurang dari 1-2%).Tetapkan ke FLAT jika perolehan kembali 99% atau lebih tinggi diperlukan. |
Pembuatan indeks (opsional) |
scann.enable_pca |
Mengaktifkan Analisis Komponen Utama (PCA), yang merupakan teknik pengurangan dimensi yang digunakan untuk otomatis
mengurangi ukuran embedding jika memungkinkan. Opsi ini diaktifkan secara default. Tetapkan ke false jika Anda mengamati penurunan perolehan. |
Pembuatan indeks (opsional) |
auto_maintenance |
Memelihara indeks ScaNN secara otomatis sehingga seiring pertumbuhan set data Anda, AlloyDB Omni menganalisis dan memperbarui centroid, serta memisahkan partisi pencilan besar. Tindakan ini akan otomatis meningkatkan QPS dan hasil penelusuran. Untuk mengetahui informasi selengkapnya, lihat Memelihara indeks secara otomatis. |
Pembuatan indeks (opsional) |
scann.pct_leaves_to_search |
Mengelola jumlah partisi yang ditelusuri indeks vektor secara otomatis. Untuk mengetahui informasi selengkapnya, lihat Persentase penelusuran partisi. | |
scann.num_leaves_to_search
|
Jumlah absolut partisi yang akan ditelusuri. Hal ini memungkinkan Anda melakukan kompromi antara perolehan kueri dan QPS. Nilai defaultnya adalah 1% dari Nilai yang lebih tinggi menghasilkan perolehan kueri yang lebih baik, tetapi QPS yang lebih rendah. Demikian pula, nilai yang lebih rendah menghasilkan perolehan kueri yang lebih buruk, tetapi QPS yang lebih baik. |
Runtime kueri (opsional) |
scann.pre_reordering_num_neighbors
|
Menentukan jumlah tetangga kandidat yang akan dipertimbangkan selama tahap pengurutan ulang setelah penelusuran awal mengidentifikasi serangkaian kandidat. Tetapkan parameter ini ke nilai yang lebih tinggi daripada jumlah tetangga yang ingin Anda tampilkan dalam kueri. Nilai yang lebih tinggi menghasilkan perolehan yang lebih baik, tetapi QPS yang lebih rendah.
Defaultnya adalah |
Runtime kueri (opsional) |
scann.num_search_threads |
Jumlah thread penelusur untuk penelusuran multi-thread. Hal ini dapat membantu mengurangi latensi kueri tunggal dengan menggunakan lebih dari satu thread untuk penelusuran ScaNN ANN dalam aplikasi yang sensitif terhadap latensi. Setelan ini tidak meningkatkan latensi kueri tunggal jika database sudah terikat CPU. Nilai defaultnya adalah 2. |
Runtime kueri (opsional) |
|
Jika ditetapkan ke relaxed_order, flag database akan mengatasi perolehan yang tidak memadai. Recall yang tidak memadai dapat terjadi jika recall yang diamati dari kueri berada di bawah target recall, yang lebih mungkin terjadi saat menggunakan filter. Setelan ini membantu mencapai target perolehan dengan mengizinkan pemindaian vektor untuk terus menelusuri di luar batas num_leaves_to_search hingga jumlah hasil yang memadai ditemukan. |
Runtime kueri (opsional) |
|
Flag database ini menetapkan batas atas pada persentase total leaf yang dapat dikunjungi untuk kueri yang Anda jalankan dengan mengaktifkan scann.satisfy_limit. Ini adalah batas atas GUC yang tersedia dan berlaku untuk mode penelusuran otomatis dan manual. Tindakan ini mencegah penelusuran melampaui batas, yang dapat menurunkan performa secara signifikan. Hal ini berlaku jika scann.satisfy_limit diaktifkan.Anda dapat menetapkan parameter ini ke nilai apa pun antara 0 hingga 100. Nilai defaultnya adalah 15%. Nilai default ini didasarkan pada alasan bahwa jika penelusuran perlu memeriksa lebih dari 15% leaf, filter kemungkinan cukup selektif sehingga penelusuran perkiraan tetangga terdekat (ANN) tidak memberikan manfaat, sehingga pemfilteran di awal k-nearest neighbor (KNN) menjadi pilihan yang lebih sesuai. |
Runtime kueri (opsional) |