مرشحات Sphinx - هل يمكنني الحصول على "OR" بين سمات المرشحات؟
سؤال
أنا أستخدم أبو الهول لإدراج بعض العناصر من قاعدة البيانات الخاصة بي هنا.إنها 100% تقريبًا، ولم أكتشف بعد كيفية إنشاء ملف OR
بين مرشحين مختلفين.على سبيل المثال:
الكائن الخاص بي في قاعدة البيانات له تاريخ بداية وتاريخ انتهاء، أستطيع ذلك filter(starting_date, x, y)
و filter(ending_date,x,y)
, ، ولكن يجب أن يعود كلا المرشحين صحيحًا لإحضار الكائن لي، كيف يمكنني أن أقول لأبو الهول تصفية هذه السمة أو تلك؟
المحلول
وأبو الهول يستخدم | لأو
وكما هو الحال في "الأسود" أو "الأبيض" سيكون "السوداء" | "أبيض" http://www.sphinxsearch.com/docs/manual- 0.9.9.html # منطقية-تركيب
نصائح أخرى
تم السؤال والإجابة في منتديات سفنكس.
ممكن فقط في 0.9.9، وذلك باستخدام SetSelect.
لا توجد وسيلة للحصول على OR
المنطق عبر سمات مختلفة في أبو الهول.عادةً، هناك حلان محتملان:
- احصل على سمة واحدة متعددة القيم مع مجموعتي القيم التي تريد مطابقتها - وقم بالتصفية على صفائف القيم.
- إذا كان هو نفس منطق OR في كل مرة، فادمجه في سمة منطقية واحدة، مع جعل عبارة SQL تقوم بالعمل الشاق الأولي.
استخدام الطوابع الزمنية يجعل الأمور أكثر صعوبة بعض الشيء - MVAs مخصصة للأعداد الصحيحة فقط في هذه المرحلة ...هل أنت بعد كل الأشياء التي تحدث في وقت محدد؟أو أي شيء آخر؟