صالح المطرفي » الوسم: 'mysql'

السبت 12 ربيع الأول 1433 هـ | الاشتراك بواسطة RSS

ترتيب النتائج حسب الأقرب لكلمة البحث

سبتمبر 2, 2008 | تعليق واحد | مصنف تحت php, تطوير المواقع

في الحقيقة قبل فترة كنت أبحث عن طريقة يمكن من خلالها ترتيب نتائج البحث حسب الاقرب لكلمة البحث ولاحظت ان هذا الامر لم يتم التطرق له في كثير من المنتديات العربية .

على العموم كانت نتيجة بحثي هو تنفيذ الاستعلام على حسب الطريقة العامة التالية :

select * from table where ((`field` REGEXP 'ص(ا|أ|إ|آ)لح')) ORDER BY ((CASE WHEN `field` REGEXP 'ص(ا|أ|إ|آ)لح' THEN 1 ELSE 0 END)) DESC

طبعا هذه الطريقة تفيد في حالة كانت كلمة البحث اكثر من كلمتين فهو يقوم بترتيب النتائج بحسب المدخلات التي تحتوي الكلمتين معاً ومن ثم التي تحتوي على احدى الكلمتين وهو الحال ايضا مع اكثر من كلمتين .

ولكن إذا كانت كلمة البحث كلمة واحدة فقط فـ”كأنك يا أبو زيد ما غزيت” .

وكنت قد تشاركت هذا الحل مع الاستاذ / خالد الشمعة وقام بإضافته إلى الكائن الرائع ArQuery

والآن نريد ان نجد طريقة افضل لترتيب النتائج بحسب الاقرب لكلمة البحث لذلك نريد ان نتشارك الحلول حتى نحصل على افضل نتيجة

الوسوم: ,