بما إني مُقبلٌ على برمجة مُحرك بحث لإحدى المواقع ، وهذا الموقع قاعدة بياناته ضخمة بعض الشيء ، وخبرتي في البحث لا تتعدى استعلامات LIKE .
أحببت سؤالكم والاستفادة من تجاربكم وخبراتكم في هذا .
ابدأ ب Like ثم حسن نتائجك باستخدم ال wildcards و مره مره ستقوم بعمل التحسينات وفقاً ما تراه مناسباً لإحتياجاتك
عليك باستخدام محرك بحث
اذا كان حجم البيانات كبيرا
و مطلوب سرعة في البحث
هناك حلول مفتوحة المصدر اشهرها
إذا كان حجم البيانات صغير او غير معقد
ممكن الاكتفاء ب SQL
إذا توفرت لك موارد في ذاكرة السرفر ممكن عمل duplicate in memory db
لتسريع عملية البحث بال SQL
MySQL Full-text Searching
Don't reinvent the wheel
عليك بدراسة خوارزميات الببحث وخوارزميات الترتيب
لا اعتمد على البحث في قواعد البيانات لأنه يصبح ثقيل جدا عندما تصبح ضخمة ، بل اقوم بالاعتماد على ال ElasticSearch حيث يتم البحث عن طريق Json و نتائج شبه مباشرة دون وجود تأخر.
التعليقات