BIN_FLAT
فهرس BIN_FLAT هو متغير من فهرس FLAT مصمم خصيصًا للتضمينات الثنائية. وهو يتفوق في التطبيقات التي يتطلب فيها البحث عن تشابه المتجهات دقة مثالية على مجموعات بيانات صغيرة نسبيًا بمقياس مليون. من خلال استخدام منهجية بحث شاملة - مقارنة كل مدخلات الهدف مع جميع المتجهات في مجموعة البيانات - يضمن لك مؤشر FLAT_FAT نتائج دقيقة. هذه الدقة تجعله معيارًا مثاليًا لتقييم أداء الفهارس الأخرى التي قد تقدم أقل من 100٪ استدعاء، على الرغم من أن منهجيته الشاملة تجعله أيضًا الخيار الأبطأ للبيانات واسعة النطاق.
بناء الفهرس
لإنشاء فهرس BIN_FLAT على حقل متجه في ميلفوس، استخدم طريقة add_index() ، مع تحديد المعلمات index_type و metric_type للفهرس.
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
)
في هذا التكوين
index_type: نوع الفهرس المراد إنشاؤه. في هذا المثال، اضبط القيمة علىBIN_FLAT.metric_type: الطريقة المستخدمة لحساب المسافة بين المتجهات. تتضمن القيم المدعومة للتضمينات الثنائيةHAMMING(افتراضي) وJACCARD. للحصول على التفاصيل، راجع أنواع المقاييس.params: لا يلزم وجود معلمات إضافية لفهرس BIN_FLAT.
بمجرد تكوين معلمات الفهرس، يمكنك إنشاء الفهرس باستخدام الأسلوب create_index() مباشرةً أو تمرير بارامترات الفهرس في الأسلوب create_collection. لمزيد من التفاصيل، راجع إنشاء مجموعة.
البحث في الفهرس
بمجرد إنشاء الفهرس وإدراج الكيانات، يمكنك إجراء عمليات بحث عن التشابه على الفهرس.
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
)
لمزيد من المعلومات، راجع المتجه الثنائي.
بارامترات الفهرس
بالنسبة لفهرس BIN_FLAT، لا يلزم وجود معلمات إضافية سواء أثناء إنشاء الفهرس أو عملية البحث.