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