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 sentroid dari hierarki pengelompokan K-means. Untuk
panduan tentang cara menetapkan nilai ini, lihat
Menyesuaikan indeks ScaNN.
Nilai yang tersedia adalah sebagai berikut:
Jika 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 (wajib untuk indeks yang disesuaikan secara manual) |
quantizer |
Jenis penguantisasi yang ingin Anda gunakan untuk pohon K-means. Nilai default ditetapkan ke SQ8 yang memberikan performa kueri yang lebih baik dengan kehilangan ingatan yang minimal (biasanya kurang dari 1-2%).Tetapkan ke FLAT jika ingatan 99% atau lebih tinggi diperlukan. |
Pembuatan indeks (opsional) |
scann.enable_pca |
Mengaktifkan Analisis Komponen Utama (PCA), yang merupakan teknik pengurangan dimensi yang digunakan untuk secara otomatis
mengurangi ukuran embedding jika memungkinkan. Opsi ini diaktifkan secara default. Setel ke false jika Anda melihat penurunan kualitas ingatan. |
Pembuatan indeks (opsional) |
auto_maintenance |
Memelihara indeks ScaNN secara otomatis sehingga seiring pertumbuhan set data Anda, AlloyDB Omni menganalisis dan memperbarui sentroid, serta membagi partisi pencilan besar. Hal 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 menyeimbangkan
pencarian 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. |
Waktu proses kueri (opsional) |
scann.pre_reordering_num_neighbors
|
Menentukan jumlah tetangga kandidat yang akan dipertimbangkan selama tahap pengurutan ulang setelah penelusuran awal mengidentifikasi sekumpulan 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 |
Waktu proses 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 ANN ScaNN dalam aplikasi yang sensitif terhadap latensi. Setelan ini tidak meningkatkan latensi kueri tunggal jika database sudah terikat CPU. Nilai defaultnya adalah 2. |
Waktu proses kueri (opsional) |
|
Jika disetel ke relaxed_order, tanda database akan mengatasi masalah ingatan yang tidak memadai. Peringatan tidak memadai dapat terjadi saat peringatan yang diamati kueri berada di bawah target peringatan, 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 sejumlah hasil yang memadai ditemukan. |
Waktu proses kueri (opsional) |
|
Flag database ini menetapkan batas atas persentase total daun yang dapat dikunjungi untuk kueri yang Anda jalankan dengan scann.satisfy_limit diaktifkan. 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. Ini berlaku jika scann.satisfy_limit diaktifkan.Anda dapat menyetel 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% daun, filter kemungkinan cukup selektif sehingga penelusuran perkiraan tetangga terdekat (ANN) tidak memberikan manfaat, sehingga tetangga k terdekat (KNN) pra-pemfilteran menjadi pilihan yang lebih sesuai. |
Waktu proses kueri (opsional) |