BIN_FLAT
Indeks BIN_FLAT adalah varian indeks FLAT yang dirancang khusus untuk penyematan biner. Indeks ini unggul dalam aplikasi di mana pencarian kemiripan vektor menuntut akurasi yang sempurna pada kumpulan data berskala jutaan yang relatif kecil. Dengan menggunakan metodologi pencarian yang lengkap-membandingkan setiap input target dengan semua vektor dalam kumpulan data-BIN_FLAT menjamin hasil yang tepat. Ketepatan ini menjadikannya tolok ukur yang ideal untuk menilai kinerja indeks lain yang mungkin menawarkan penarikan kurang dari 100%, meskipun pendekatannya yang menyeluruh juga menjadikannya pilihan paling lambat untuk data berskala besar.
Membangun indeks
Untuk membangun indeks BIN_FLAT pada bidang vektor di Milvus, gunakan metode add_index(), tentukan parameter index_type dan metric_type untuk indeks.
from pymilvus import MilvusClient
# Prepare index building params
index_params = MilvusClient.prepare_index_params()
index_params.add_index(
field_name="your_binary_vector_field_name", # Name of the vector field to be indexed
index_type="BIN_FLAT", # Type of the index to create
index_name="vector_index", # Name of the index to create
metric_type="HAMMING", # Metric type used to measure similarity
params={} # No additional parameters required for BIN_FLAT
)
Dalam konfigurasi ini:
index_type: Jenis indeks yang akan dibangun. Dalam contoh ini, tetapkan nilainya keBIN_FLAT.metric_type: Metode yang digunakan untuk menghitung jarak antara vektor. Nilai yang didukung untuk penyematan biner termasukHAMMING(default) danJACCARD. Untuk detailnya, lihat Jenis Metrik.params: Tidak ada parameter tambahan yang diperlukan untuk indeks BIN_FLAT.
Setelah parameter indeks dikonfigurasi, Anda dapat membuat indeks dengan menggunakan metode create_index() secara langsung atau mengoper parameter indeks dalam metode create_collection. Untuk detailnya, lihat Membuat Koleksi.
Mencari di indeks
Setelah indeks dibuat dan entitas dimasukkan, Anda dapat melakukan pencarian kemiripan pada indeks.
res = MilvusClient.search(
collection_name="your_collection_name", # Collection name
anns_field="binary_vector_field", # Binary vector field name
data=[query_binary_vector], # Query binary vector
limit=3, # TopK results to return
search_params={"params": {}} # No additional parameters required for BIN_FLAT
)
Untuk informasi lebih lanjut, lihat Vektor Biner.
Parameter indeks
Untuk indeks BIN_FLAT, tidak ada parameter tambahan yang diperlukan selama pembuatan indeks atau proses pencarian.