FLAT
Indeks FLAT adalah salah satu metode paling sederhana dan mudah untuk mengindeks dan mencari vektor floating-point. Metode ini mengandalkan pendekatan brute-force, di mana setiap vektor kueri secara langsung dibandingkan dengan setiap vektor dalam kumpulan data, tanpa prapemrosesan lanjutan atau penataan data. Pendekatan ini menjamin akurasi, menawarkan recall 100%, karena setiap kecocokan potensial dievaluasi.
Namun, metode pencarian yang lengkap ini memiliki kekurangan. Indeks FLAT adalah opsi pengindeksan yang paling lambat dibandingkan dengan jenis indeks lainnya di Milvus, karena indeks ini melakukan pemindaian penuh terhadap kumpulan data untuk setiap kueri. Akibatnya, indeks ini tidak cocok untuk lingkungan dengan dataset yang sangat besar, di mana kinerja menjadi perhatian. Keuntungan utama dari indeks FLAT adalah kesederhanaan dan keandalannya, karena tidak memerlukan pelatihan atau konfigurasi parameter yang rumit.
Membangun indeks
Untuk membangun indeks 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_vector_field_name", # Name of the vector field to be indexed
index_type="FLAT", # Type of the index to create
index_name="vector_index", # Name of the index to create
metric_type="L2", # Metric type used to measure similarity
params={} # No additional parameters required for FLAT
)
Dalam konfigurasi ini:
index_type
: Jenis indeks yang akan dibangun. Dalam contoh ini, tetapkan nilainya keFLAT
.metric_type
: Metode yang digunakan untuk menghitung jarak antara vektor. Nilai yang didukung termasukCOSINE
,L2
, danIP
. Untuk detailnya, lihat Jenis Metrik.params
: Tidak ada parameter tambahan yang diperlukan untuk indeks 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
data=[[0.1, 0.2, 0.3, 0.4, 0.5]], # Query vector
limit=3, # TopK results to return
search_params={"params": {}} # No additional parameters required for FLAT
)
Parameter indeks
Untuk indeks FLAT, tidak ada parameter tambahan yang diperlukan selama pembuatan indeks atau proses pencarian.