🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
الصفحة الرئيسية
  • المفاهيم
  • Home
  • Docs
  • المفاهيم

  • المؤشر القياسي

الفهرس القياسي

يدعم Milvus عمليات البحث المفهرسة التي تجمع بين الحقول القياسية والمتجهة. ولتعزيز كفاءة عمليات البحث التي تتضمن حقولاً قياسية، قدم ميلفوس فهرسة الحقول القياسية بدءاً من الإصدار 2.1.0. تقدم هذه المقالة لمحة عامة عن فهرسة الحقول القياسية في ملفوس، مما يساعدك على فهم أهميتها وتنفيذها.

نظرة عامة

بمجرد إجراء عمليات البحث عن تشابه المتجهات في Milvus، يمكنك استخدام العوامل المنطقية لتنظيم الحقول القياسية في تعبيرات منطقية.

عندما يتلقى Milvus طلب بحث بتعبير منطقي كهذا، فإنه يقوم بتحليل التعبير المنطقي إلى شجرة بناء الجملة المجردة (AST) لإنشاء خطة فعلية لتصفية السمات. ثم يطبق Milvus الخطة الفيزيائية في كل جزء لتوليد مجموعة بتات كنتيجة للتصفية ويتضمن النتيجة كمعامل بحث متجه لتضييق نطاق البحث. في هذه الحالة، تعتمد سرعة عمليات البحث المتجه بشكل كبير على سرعة تصفية السمة.

Attribute filtering in a segment تصفية السمة في مقطع

تعد فهرسة الحقول العددية طريقة لضمان سرعة تصفية السمات من خلال فرز قيم الحقول العددية بطريقة معينة لتسريع استرجاع المعلومات.

خوارزميات فهرسة الحقول العددية

يهدف ميلفوس إلى تحقيق استخدام منخفض للذاكرة، وكفاءة تصفية عالية، ووقت تحميل قصير من خلال خوارزميات فهرسة الحقول العددية. تصنف هذه الخوارزميات إلى نوعين رئيسيين: الفهرسة التلقائية والفهرسة المقلوبة.

الفهرسة التلقائية

يوفر ميلفوس الخيار AUTOINDEX لتحريرك من الاضطرار إلى اختيار نوع الفهرسة يدويًا. عند استدعاء طريقة create_index ، إذا لم يتم تحديد index_type ، يقوم ميلفوس تلقائيًا باختيار نوع الفهرسة الأنسب بناءً على نوع البيانات.

يسرد الجدول التالي أنواع البيانات التي يدعمها Milvus وخوارزميات الفهرسة التلقائية المقابلة لها.

نوع البياناتخوارزمية الفهرسة التلقائية
فهرس مقلوبفهرس مقلوب
INT8فهرس مقلوب
INT16فهرس مقلوب
INT32فهرس مقلوب
INT64فهرس مقلوب
فهرس مسطحفهرس مقلوب
مزدوجفهرس مقلوب

الفهرسة المقلوبة

توفر الفهرسة المقلوبة طريقة مرنة لإنشاء فهرس لحقل قياسي عن طريق تحديد معلمات الفهرس يدويًا. تعمل هذه الطريقة بشكل جيد مع سيناريوهات مختلفة، بما في ذلك الاستعلامات النقطية، واستعلامات مطابقة الأنماط، وعمليات البحث عن النص الكامل، وعمليات البحث عن JSON، وعمليات البحث المنطقي، وحتى استعلامات مطابقة البادئة.

يتم تشغيل الفهارس المقلوبة التي تم تنفيذها في Milvus بواسطة Tantivy، وهي مكتبة محرك بحث النص الكامل. تضمن Tantivy أن تكون الفهرسة المقلوبة في Milvus فعالة وسريعة.

يحتوي الفهرس المقلوب على عنصرين رئيسيين: قاموس المصطلح والقائمة المقلوبة. يتضمن قاموس المصطلحات جميع الكلمات الرمزية مرتبة أبجديًا، بينما تحتوي القائمة المقلوبة على قائمة المستندات التي تظهر فيها كل كلمة. هذا الإعداد يجعل الاستعلامات النقطية واستعلامات النطاق أسرع بكثير وأكثر كفاءة من عمليات البحث الغاشمة.

Inverted index diagram مخطط الفهرس المقلوب

تتضح مزايا استخدام الفهرس المقلوب بشكل خاص في العمليات التالية:

  • الاستعلام النقطي: على سبيل المثال، عند البحث عن المستندات التي تحتوي على كلمة Milvus، تبدأ العملية بالتحقق مما إذا كانت كلمة Milvus موجودة في قاموس المصطلح. إذا لم يتم العثور عليها، فلا توجد مستندات تحتوي على الكلمة. ومع ذلك، إذا تم العثور عليها، يتم استرجاع القائمة المقلوبة المرتبطة بكلمة Milvus، مع الإشارة إلى المستندات التي تحتوي على الكلمة. تعد هذه الطريقة أكثر كفاءة بكثير من البحث بالقوة الغاشمة من خلال مليون مستند، حيث يقلل قاموس المصطلحات المصنفة بشكل كبير من تعقيدات الوقت اللازم للعثور على كلمة Milvus.
  • استعلام النطاق: يتم أيضًا تعزيز كفاءة استعلامات النطاق، مثل العثور على المستندات التي تحتوي على كلمات أكبر من جدا أبجديًا، من خلال قاموس المصطلحات المصنفة. يعد هذا النهج أكثر كفاءة من البحث الفوري، مما يوفر نتائج أسرع وأكثر دقة.

نتائج الاختبار

لتوضيح التحسينات في الأداء التي توفرها الفهارس القياسية في ميلفوس، تم إجراء تجربة تقارن أداء العديد من التعبيرات باستخدام الفهرسة المقلوبة والبحث بالقوة الغاشمة على البيانات الأولية.

تضمنت التجربة اختبار تعبيرات مختلفة في ظل شرطين: باستخدام فهرس مقلوب وبحث بالقوة الغاشمة. لضمان العدالة، تم الحفاظ على نفس توزيع البيانات عبر الاختبارات، باستخدام نفس المجموعة في كل مرة. قبل كل اختبار، تم تحرير المجموعة، وتم إسقاط الفهرس وإعادة بنائه. بالإضافة إلى ذلك، تم إجراء استعلام دافئ قبل كل اختبار لتقليل تأثير البيانات الباردة والساخنة، وتم تنفيذ كل استعلام عدة مرات لضمان الدقة.

بالنسبة لمجموعة بيانات مكونة من مليون سجل، يمكن أن يوفر استخدام فهرس مقلوب ما يصل إلى 30 ضعفًا من الأداء للاستعلامات النقطية. يمكن أن تكون مكاسب الأداء أكثر أهمية بالنسبة لمجموعات البيانات الأكبر حجمًا.

توصيات الأداء

للاستفادة الكاملة من قدرة Milvus في فهرسة الحقول القياسية وإطلاق العنان لقوته في عمليات البحث عن التشابه المتجه، قد تحتاج إلى نموذج لتقدير حجم الذاكرة المطلوبة بناءً على البيانات التي لديك.

تسرد الجداول التالية وظائف التقدير لجميع أنواع البيانات التي يدعمها ملفوس.

  • الحقول العددية

    نوع البياناتدالة تقدير الذاكرة (ميغابايت)
    INT8numOfRows * 12 / 1024 / 1024
    INT16عدد الصفوف * 12/1024 / 1024 / 1024
    INT32عدد الصفوف * 12 / 1024 / 1024 / 1024
    INT64numOfRows * 24 / 1024 / 1024 / 1024
    FLOAT32عدد الصفوف * 12 / 1024 / 1024 / 1024
    مزدوجعدد الصفوف * 24 / 1024 / 1024 / 1024
  • حقول السلسلة

    طول السلسلةدالة تقدير الذاكرة (ميغابايت)
    (0, 8]numOfRows * 128 / 1024 / 1024
    (8, 16]عدد الصفوف * 144 / 1024 / 1024 / 1024
    (16, 32]عدد الصفوف * 160 / 1024 / 1024 / 1024
    (32, 64]عدد الصفوف * 192 / 1024 / 1024 / 1024
    (64, 128]عدد الصفوف * 256 / 1024 / 1024 / 1024
    (128, 65535]numOfRows * strLen * 1.5 / 1024 / 1024

ما التالي

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟