مشغلات المصفوفات

يوفر ميلفوس مشغلات قوية للاستعلام عن حقول المصفوفات، مما يسمح لك بتصفية واسترجاع الكيانات بناءً على محتويات المصفوفات.

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

معاملات ARRAY المتاحة

تسمح مشغلات ARRAY بالاستعلام الدقيق لحقول المصفوفات في ميلفوس. هذه المعاملات هي:

ARRAY_CONTAINS

يتحقق عامل ARRAY_CONTAINS من وجود عنصر محدد في حقل مصفوفة. وهو مفيد عندما تريد العثور على الكيانات التي يوجد فيها عنصر معين في المصفوفة.

مثال

لنفترض أن لديك حقل مصفوفة history_temperatures ، والذي يحتوي على أدنى درجات الحرارة المسجلة لسنوات مختلفة. للعثور على جميع الكيانات التي تحتوي فيها المصفوفة على القيمة 23 ، يمكنك استخدام تعبير التصفية التالي:

filter = 'ARRAY_CONTAINS(history_temperatures, 23)'

سيعيد هذا جميع الكيانات حيث تحتوي المصفوفة history_temperatures على القيمة 23.

array_contains_all

يضمن المشغل ARRAY_CONTAINS_ALL وجود جميع عناصر القائمة المحددة في حقل المصفوفة. يكون هذا العامل مفيدًا عندما تريد مطابقة الكيانات التي تحتوي على قيم متعددة في المصفوفة.

مثال

إذا كنت تريد العثور على جميع الكيانات التي تحتوي فيها المصفوفة history_temperatures على كل من 23 و 24 ، يمكنك استخدام:

filter = 'ARRAY_CONTAINS_ALL(history_temperatures, [23, 24])'

سيؤدي هذا إلى إرجاع جميع الكيانات حيث تحتوي المصفوفة history_temperatures على كل من القيم المحددة.

مصفوفة_تحتوي_على_أي

يتحقق المشغل ARRAY_CONTAINS_ANY مما إذا كان أي من عناصر القائمة المحددة موجودًا في حقل المصفوفة. هذا مفيد عندما تريد مطابقة الكيانات التي تحتوي على قيمة واحدة على الأقل من القيم المحددة في المصفوفة.

مثال

للعثور على جميع الكيانات حيث تحتوي المصفوفة history_temperatures على 23 أو 24 ، يمكنك استخدام:

filter = 'ARRAY_CONTAINS_ANY(history_temperatures, [23, 24])'

سيؤدي هذا إلى إرجاع جميع الكيانات حيث تحتوي المصفوفة history_temperatures على واحدة على الأقل من القيمتين 23 أو 24.

ARRAY_LENGTH

يُرجع ARRAY_LENGTH طول (عدد العناصر) لحقل مصفوفة. يقبل معلمة واحدة فقط: معرف حقل المصفوفة.

مثال

للعثور على جميع الكيانات حيث تحتوي المصفوفة history_temperatures على أقل من 10 عناصر:

filter = 'ARRAY_LENGTH(history_temperatures) < 10'

سيؤدي ذلك إلى إرجاع جميع الكيانات التي تحتوي المصفوفة history_temperatures على أقل من 10 عناصر.

جرب Managed Milvus مجاناً

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

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

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