سؤال

لدينا تطبيق استضافت التي تدير صفحات المحتوى. كل صفحة يمكن أن يكون لها عدد من المجالات حسب الطلب، وبعض الحقول القياسية (الطابع الزمني، واسم المستخدم، البريد الإلكتروني للمستخدم، الخ).

ومع يحتمل أن مئات من مواقع مختلفة باستخدام نظام - ما هو وسيلة فعالة للتعامل مع تصفية / البحث؟ صورة وجهة نظر الشبكة التي تريد تضييق. كما يمكنك تحديد على مجالات محددة (معرف المستخدم، التاريخ) أو يمكنك إدخال بحث في النصوص.

وعلى سبيل المثال، "كل الصفحات التي كتبها حاليا 10" سيكون استعلام سريعة جدا ضد قاعدة بيانات MySQL. ولكن أشياء مثل "كل الصفحات التي كتبها المستخدم الذي حاليا هو 10 والمباريات [بعض الاستعلام البحث]" أن تمتص ضد قاعدة البيانات، حتى انها مناسبة لمحركات البحث مثل لوسين.

وأساسا أنا أتساءل كيف مواقع كبيرة أخرى لا تفعل هذا النوع من الشيء. أنها لا تستخدم محرك بحث 100٪ لجميع أنواع الترشيح؟ هل هم مزيج استعلامات قاعدة البيانات مع محرك البحث؟

إذا نستخدم <م> فقط محرك بحث، هناك مشكلة مع تأخير الوقت الذي يستغرقه لكائن جديد / تحديث لتظهر في فهرس البحث. وهذا هو، لقد قرأت أنه ليس ذكية لتحديث الفهرس <م> على الفور ، والقيام بذلك على دفعات بدلا من ذلك. حتى لو كان هذا يعني كل 5 دقائق، وسيكون للمستخدمين الحصول على الخلط عندما صفحتهم أضاف في الآونة الأخيرة ليست مدرجة على الفور عندما عرض قائمة صفحة بسيطة (مثلا استعلام البحث من "الفئة: 5").

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

وفكرتي هي لتقديم صفحة الترشيح البسيطة التي تستخدم لتصفية الخلية في المجالات الأساسية. ثم تقدم صفحة بحث نص كامل المنفصلة التي ستقدم نتائج مماثلة إلى Google. هل هذه هي الطريقة الوحيدة؟

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

المحلول

والمؤسسة العامة أو grassyknoll كل من توفير واجهات قليلا أكثر تجريدا لوسين.

وقال: نعم. إذا كنت موقع مدفوعة المحتوى في المقام الأول، وتوفير النص الكامل البحث عبر البيانات الخاصة بك، هناك شيء في اللعب وراء مثل. في حين indexies النص الكامل الخلية ليست مثالية، فإنه قد يكون نائبا مقبول في هذه الأثناء.

وإذا افترضنا أن تفعل إنشاء فهرس لوسين، وربط المستندات لوسين إلى كائنات العلائقية الخاص بك واضحة جدا، ببساطة إضافة خاصية المخزنة على الوثيقة في وقت مؤشر (هذا العقار يمكن أن يكون رابط، ID، GUID الخ) ثم يبحثون يصبح نظاما 2 المرحلة: 1) الاستعلام العدد إلى indexies لوسين (عرض النتائج بسيطة مثل العنوان) 2) الحصول على معلومات أكثر تفصيلا حول كائن من مخازن ذات العلاقة من خلال مفتاحه

ومنذ إنشاء مثيل من وثائق هي مكلفة نسبيا في لوسين، وتريد فقط لتخزين الحقول فتشت في مؤشر لوسين، خلافا لاستكمال استنساخ كائنات العلائقية الخاص بك.

نصائح أخرى

ولا شطب الخلية بهذه السهولة!

وتنفيذ ذلك باستخدام قاعدة بيانات على سبيل المثال وحدد مع 'مثل' في المكان-بند أو أيا كان.

والشخصي عليه، إضافة فهارس إذا لزم الأمر. طرح بيتا، لذلك يمكنك الحصول على أرقام حقيقية من أنماط البيانات الفعلية المستخدم - وليس كل الأعمدة قد يطلب بالتساوي بعد، الخ

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

في حال كنت ترغب في استخدام الخلية أو الإنترنت، حل مفتوح المصدر الذي يعمل كبيرة مع أنه من تمثال أبو الهول: http://www.sphinxsearch.com/

ونحن لها نفس المشكلة والنظر أبو الهول ولوسين كحلول ممكنة.

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