المشغلات الأساسية
يوفر ميلفوس مجموعة غنية من العوامل الأساسية لمساعدتك في تصفية البيانات والاستعلام عنها بكفاءة. تسمح لك هذه المعاملات بتحسين شروط البحث الخاصة بك بناءً على الحقول القياسية والحسابات الرقمية والشروط المنطقية وغيرها. يعد فهم كيفية استخدام هذه العوامل أمرًا بالغ الأهمية لبناء استعلامات دقيقة وزيادة كفاءة عمليات البحث الخاصة بك.
عوامل المقارنة
تُستخدم عوامل المقارنة لتصفية البيانات بناءً على التساوي أو عدم المساواة أو الحجم. وهي قابلة للتطبيق على الحقول الرقمية والنصية والتاريخية.
عوامل المقارنة المدعومة.
==
(يساوي إلى)!=
(لا يساوي)>
(أكبر من)<
(أقل من)>=
(أكبر من أو يساوي)<=
(أقل من أو يساوي)
مثال 1: التصفية باستخدام (أكبر من أو يساوي إلى) (>=
)
إذا كنت تريد العثور على جميع الكيانات التي تحتوي على rating
أكبر من أو يساوي 4.
filter = 'rating >= 4'
مثال 2: التصفية باستخدام أقل من أو يساوي (<=
)
للعثور على الكيانات التي تحتوي على discount
أقل من أو يساوي 10٪.
filter = 'discount <= 10'
عوامل النطاق
تساعد عوامل تشغيل النطاق في تصفية البيانات بناءً على مجموعات أو نطاقات محددة من القيم.
معاملات النطاق المدعومة.
IN
: تستخدم لمطابقة القيم ضمن مجموعة أو نطاق محدد.LIKE
: يُستخدم لمطابقة نمط (غالبًا للحقول النصية).
مثال 1: استخدام IN
لمطابقة قيم متعددة
إذا كنت تريد العثور على جميع الكيانات التي يكون فيها color
إما "أحمر" أو "أخضر" أو "أزرق".
filter = 'color in ["red", "green", "blue"]'
يكون هذا مفيدًا عندما تريد التحقق من العضوية في قائمة من القيم.
مثال 2: استخدام LIKE
لمطابقة الأنماط
يُستخدم المشغل LIKE
لمطابقة الأنماط في حقول السلاسل. يمكنه مطابقة السلاسل الفرعية في مواضع مختلفة داخل النص: كبادئة أو لاحقة أو لاحقة. يستخدم المشغل LIKE
الرمز %
كحرف بدل، والذي يمكن أن يطابق أي عدد من الأحرف (بما في ذلك الصفر).
مطابقة البادئة (يبدأ بـ)
لإجراء مطابقة البادئة، حيث تبدأ السلسلة بنمط معين، يمكنك وضع النمط في البداية واستخدام %
لمطابقة أي أحرف تليه. على سبيل المثال، للعثور على جميع المنتجات التي يبدأ اسمها name
بـ "Prod".
filter = 'name LIKE "Prod%"'
سيطابق هذا أي منتج يبدأ اسمه بـ "Prod"، مثل "المنتج أ"، "المنتج ب"، إلخ.
مطابقة لاحقة (تنتهي بـ)
لمطابقة اللاحقة، حيث تنتهي السلسلة بنمط معين، ضع الرمز %
في بداية النمط. على سبيل المثال، للعثور على جميع المنتجات التي ينتهي اسمها name
بـ "XYZ".
filter = 'name LIKE "%XYZ"'
سيؤدي هذا إلى مطابقة أي منتج ينتهي اسمه بـ "XYZ"، مثل "ProductXYZ"، "SampleXYZ"، إلخ.
مطابقة لاحقة (يحتوي على)
لإجراء تطابق لاحق، حيث يمكن أن يظهر النمط في أي مكان في السلسلة، يمكنك وضع الرمز %
في بداية النمط ونهايته. على سبيل المثال، للعثور على جميع المنتجات التي يحتوي name
على كلمة "Pro".
filter = 'name LIKE "%Pro%"'
سيتطابق هذا مع أي منتج يحتوي اسمه على السلسلة الفرعية "Pro"، مثل "منتج" أو "ProLine" أو "ProPro" أو "SuperPro".
المعاملات الحسابية
تسمح لك العوامل الحسابية بإنشاء شروط تستند إلى عمليات حسابية تتضمن حقول رقمية.
المعاملات الحسابية المدعومة.
+
(الجمع)-
(الطرح)*
(الضرب)/
(القسمة)%
(المقياس)**
(الأس)
مثال 1: استخدام الجمع (+
)
لإيجاد الكيانات التي يكون فيها سعر total
هو مجموع base_price
و tax
.
filter = 'total == base_price + tax'
مثال 2: استخدام الطرح (-
)
للعثور على الكيانات التي يكون فيها quantity
أكبر من 50 و quantity_sold
أقل من 30.
filter = 'quantity - quantity_sold > 50'
مثال 3: استخدام الضرب (*
)
للعثور على الكيانات التي يكون فيها price
أكبر من 100 و quantity
أكبر من 10، مضروبًا.
filter = 'price * quantity > 1000'
مثال 4: استخدام القسمة (/
)
للعثور على الكيانات التي يكون فيها total_price
مقسومًا على quantity
أقل من 50.
filter = 'total_price / quantity < 50'
مثال 5: استخدام المقياس (%
)
لإيجاد الكيانات التي يكون فيها id
عددًا زوجيًا (أي يقبل القسمة على 2).
filter = 'id % 2 == 0'
مثال 6: استخدام الأس (**
)
للعثور على الكيانات التي يكون فيها price
مرفوعًا للقوة 2 أكبر من 1000.
filter = 'price ** 2 > 1000'
المعاملات المنطقية
تُستخدم العوامل المنطقية لدمج عدة شروط في تعبير مرشح أكثر تعقيدًا. وتشمل هذه AND
و OR
و NOT
.
المعاملات المنطقية المدعومة.
AND
: يجمع بين عدة شروط يجب أن تكون جميعها صحيحة.OR
: يجمع بين شروط يجب أن يكون أحدها على الأقل صحيحًا.NOT
: ينفي الشرط.
مثال 1: استخدام AND
للجمع بين الشروط
للعثور على جميع المنتجات التي يكون فيها price
أكبر من 100 و stock
أكبر من 50.
filter = 'price > 100 AND stock > 50'
مثال 2: استخدام OR
لدمج الشروط
للعثور على جميع المنتجات التي يكون فيها color
إما "أحمر" أو "أزرق".
filter = 'color == "red" OR color == "blue"'
مثال 3: استخدام NOT
لاستبعاد شرط
للعثور على جميع المنتجات حيث color
ليس "أخضر".
filter = 'NOT color == "green"'
نصائح حول استخدام عوامل التشغيل الأساسية مع حقول JSON و ARRAY
في حين أن المشغلات الأساسية في Milvus متعددة الاستخدامات ويمكن تطبيقها على الحقول القياسية، إلا أنه يمكن استخدامها أيضًا بفعالية مع المفاتيح والفهارس في حقلي JSON و ARRAY.
على سبيل المثال، إذا كان لديك حقل product
يحتوي على مفاتيح متعددة مثل price
و model
و tags
، فقم دائمًا بالرجوع إلى المفتاح مباشرةً.
filter = 'product["price"] > 1000'
للعثور على السجلات التي تتجاوز فيها درجة الحرارة الأولى في مصفوفة من درجات الحرارة المسجلة قيمة معينة، استخدم.
filter = 'history_temperatures[0] > 30'
خاتمة
يقدم Milvus مجموعة من العوامل الأساسية التي تمنحك المرونة في تصفية بياناتك والاستعلام عنها. من خلال الجمع بين المقارنة والنطاق والعوامل الحسابية والمنطقية، يمكنك إنشاء تعبيرات تصفية قوية لتضييق نطاق نتائج البحث واسترداد البيانات التي تحتاجها بكفاءة.