سؤال

لم أتوصل أبدا عبر تطبيق / فئة مثل zend Search Lucene من قبل، كما استفسرت دائما قاعدة البيانات الخاصة بي.

يعمل zend_search_lucene مع المستندات ككائنات ذرية للفهرسة. يتم تقسيم المستند إلى الحقول المسماة، والحقول لديها محتوى يمكن البحث فيه.

يتم تمثيل المستند بواسطة فئة zend_Search_lucene_docene_docendation، وتلك الكائنات من هذه الفئة تحتوي على مثيلات Zend_Search_lucene_field التي تمثل الحقول الموجودة في المستند.

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

لذلك يقول ذلك أساسا أنه يمكنني تطبيق هذا على أي شيء بما في ذلك قواعد البيانات، والشيء الرئيسي هنا يبذل فهارس للبحث.

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

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

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

المحلول

يتم تخزين مؤشر Lucene خارج قاعدة البيانات. كنت أقوم بتخزينه في دليل "البيانات" كأخت لوحدات التحكم والنماذج والآراء. ولكن يمكنك تخزينها في أي مكان؛ تحتاج فقط إلى تحديد المسار عند فتح الفهرس للاستعلام.

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

ميزة استخدام حل فهرس كامل النص الخارجي هو أنه يمكنك تقليل عبء العمل على RDBMS الخاص بك. للعثور على مستند، يمكنك تنفيذ عملية بحث باستخدام API Lucene. يجب أن تتضمن النتيجة حقل يحتوي على القيمة الرئيسية الأساسية (كجزء من المستند ولكن لا حاجة لجعله تم تحليله بحثا عن البحث عن FT). تحصل على هذا الحقل مرة أخرى عند إجراء بحث لوسين، حتى تتمكن من البحث عن الصف المعني في قاعدة البيانات.

هل يساعد ذلك في الإجابة على سؤالك؟

أعطيت عرض تقديمي مؤخرا لجامعة MySQL مقارنة حلول البحث النص الكامل:http://forge.mysql.com/wiki/practical_full-text_search_in_mysql.

أنا أيضا نشر الشرائح في http://www.slideshare.net/billkarwin..

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