All Products
Search
Document Center

OpenSearch:Pencarian vektor

Last Updated:Jun 11, 2026

Pencarian vektor OpenSearch mengambil hasil berdasarkan kesamaan vektor, bukan kata kunci. Dikombinasikan dengan multi-channel recall, pendekatan ini meningkatkan akurasi dalam skenario seperti tanya jawab edukasi dan image search. Topik ini menjelaskan sintaks kueri vektor dan catatan penggunaannya.

Sintaks

query = vector_index:'vector'&vector_search={"vector_index":{"namespaces":[],"threshold":0.5,"top_n":10,"search_params":{}}}

Parameter opsional vector_search mengonfigurasi kueri indeks vektor. Parameter ini menerima kamus yang kuncinya adalah nama indeks vektor dan nilainya adalah konfigurasi kueri. Tabel berikut menjelaskan parameter konfigurasinya.

Parameter

Tipe

Bawaan

Deskripsi

namespaces

list<string>

Mem-partisi indeks vektor sehingga kueri hanya menargetkan partisi tertentu. Maksimum: 10.000 namespace. Jika namespace dikonfigurasi, Anda harus menentukan salah satunya dalam setiap kueri.

threshold

float

Ambang batas skor minimum. Hasil dengan skor di bawah nilai ini akan dikecualikan.

top_n

uint32

Jumlah hasil teratas yang dikembalikan.

search_params.qc_scan_ratio

float

0,01

Rasio dokumen yang dipindai selama kueri indeks QC. Dokumen yang dipindai = Total jumlah dokumen * scan_ratio.

search_params.hnsw_ef

uint32

500

Jumlah dokumen yang dipindai selama kueri indeks HNSW. Nilai yang lebih tinggi meningkatkan recall tetapi menambah latensi.

Catatan

Parameter vector_search juga berlaku dalam skenario multi-channel recall.

Contoh: Kueri indeks vektor berdimensi 64

vector: '0.377796,-0.958450,0.409853,-0.238177,-1.293826,0.356797,-0.295727,0.847301,-1.220337,0.148032,-1.128458,0.903187,0.509352,0.293686,-1.005852,-0.488839,0.888227,-0.555556,-0.658025,0.267552,-0.567601,0.003045,0.591734,-0.515983,-1.316453,-1.462450,0.091946,1.554954,0.384802,0.720498,0.144338,1.217826,0.724039,0.044212,0.571332,-1.425430,0.618965,0.481887,-1.617787,1.505416,-0.683652,1.030900,0.562021,0.162437,0.816546,0.112229,-0.739288,-0.342643,-0.199292,0.508368,-1.384887,-1.842170,0.952622,-1.699499,0.199430,-0.232464,-0.273227,-0.383696,-0.511302,0.005458,1.873572,-0.926169,-0.417587,-0.660156'

Contoh

Menetapkan ambang batas skor minimum

Deskripsi: Mengeluarkan hasil dengan skor jarak vektor di bawah ambang batas yang ditentukan.

Format parameter lama: &sf=number

Format parameter baru: vector_search={"vector_index":{"threshold":0.8}}

Contoh:

// Versi lama
query=index_name:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6&sf=0.8'
// Versi baru
query=index_name:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6'&vector_search={"index_name":{"threshold":0.8}}

Menentukan kueri top-N

Deskripsi: Mengembalikan hanya N hasil teratas.

Format parameter lama: &n=number

Format parameter baru: vector_search={"vector_index":{"top_n":10}}

Contoh:

// Versi lama
query=vector_index:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6&n=10'
// Versi baru
query=vector_index:'0.1,0.2,0.98,0.6;0.3,0.4,0.98,0.6'&vector_search={"index_name":{"top_n":10}}

Mengurutkan hasil berdasarkan skor vektor

Deskripsi: Dapatkan skor jarak vektor dengan menggunakan proxima_score(index_name) dalam ekspresi penyortiran halus.

  • index_name: Nama indeks vektor.

  • Mengembalikan skor jarak vektor bertipe float. Dokumen yang tidak dikembalikan oleh pencarian vektor memiliki skor bawaan 10.000.

  • Contoh: proxima_score(your_vector_index).

Prosedur:

Buka Search Algorithm Center > Sort Configuration > Policy Configuration, lalu klik Create. Tetapkan cakupan ke Default fine sort dan tipe ke Expression.

  1. Pada halaman Search Test, rujuk kebijakan pengurutan presisi yang telah Anda buat dan jalankan pengujian.

Pada halaman Search Test, atur second_rank_name ke kebijakan pengurutan presisi yang telah Anda buat, lalu jalankan kueri pencarian vektor. Bandingkan hasil antara kebijakan bawaan dan kustom. Jika hasil menampilkan SecondRank: expression[proxima_score(vec)], result[100.000000], maka skor jarak vektor sedang diterapkan.

Catatan
  • Metrik jarak bawaan adalah Jarak Euclidean (l2).

  • Untuk jarak inner product (ip), skor yang lebih tinggi menunjukkan relevansi yang lebih tinggi.

  • Untuk Jarak Euclidean (l2), skor yang lebih rendah menunjukkan relevansi yang lebih tinggi.

Batasan

  • Metrik jarak bawaan adalah Jarak Euclidean (l2). Untuk menggunakan jarak inner product (ip), normalisasi vektor Anda sebelum ingestion.

  • Bidang indeks vektor harus bertipe DOUBLE_ARRAY.

  • Dimensi yang didukung: 64, 128, 256, dan 512. Jumlah elemen dalam bidang DOUBLE_ARRAY harus tepat sesuai dengan dimensi yang ditentukan.

  • Panjang maksimum string vektor kueri: 4 KB sebelum encoding. Satu kueri biasanya mendukung hingga dua indeks vektor.