سؤال

أنا أقوم ببناء منتدى من نقطة الصفر في PHP. لقد استخدمت معظم هيكل قاعدة بيانات PHPBB: S.

ولكن الآن أنا أفكر في وظيفة البحث؟، ما هو تصميم جيد لتكون قادرا على البحث بسرعة كبيرة في جميع المشاركات. أعتقد أنه يجب أن يكون هناك بعض الطريقة أفضل من مجرد Query_string٪ في MySQL :)

ربما تنفجر جميع الجمل في الكلمات، دع الكلمات تكون مفاتيح في طاولة التجزئة، والقيمة هي قائمة مفصولة بفواصل بجميع نشر الكلمة؟ ثم هناك الكثير من المتاعب إذا قمت بحذف منشور ولكن أعتقد أن هذا النهج أفضل.

من البداية، أعتقد أنني أستطيع استخدام الحل البسيط، لكنني لا أريد تغيير الرمز عندما ينمو المنتدى أكبر.

شكرا لأي أفكار أو إذا كنت تستطيع توجيهي إلى الاتجاه الصحيح!

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

المحلول

الخيار الأفضل بالنسبة لي اليوم هو أبو الهول البحث. وبعد يمكن استخدامه مع PHP، القضبان، بيرل وحتى الآن من أجلي يعمل مثل سحر. يمكنك التحقق من حل PHP.. وبعد Craiglist على سبيل المثال، استخدمه.

نصائح أخرى

zend لوسين هي طريقة قوية لإضافة بحث إلى موقع PHP.

إليك مقالة حول كيفية القيام بذلك بالضبط: لفة محرك البحث الخاص بك مع zend_search_lucene

لا إعادة اختراع العجلة. ألق نظرة على لوسين. هناك أيضا منفذ ل PHP:

zend لوسين

لوسين يقوم بتحليل وفهرسة لك والاستفسارات بسرعة كما البرق.

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

قد يحتاجون أيضا إلى بعض البحث الغامض إذا كانوا لا يعرفون الإملاء بما يحتاجونه. قد يبحثون عن "خصوصية" وتريد "SQL".

كل هذه النقاط نحو حل أكثر تعقيدا من بحثك المطلوب.

مؤشر الأكثر أهمية في الوقت الحالي هو أن ما تقوم به، يجب عليك التأكد من أنه من السهل تبديله لصالح شيء أفضل في وقت لاحق. تأكد من أن بحثك قابل للتبديل بشكل ساخن كما تعلم أنك تريد تغييره لاحقا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top