هل هناك أداة تمييز سريعة ودقيقة لـ Lucene؟

StackOverflow https://stackoverflow.com/questions/82151

  •  09-06-2019
  •  | 
  •  

سؤال

لقد كنت أستخدم (جافا) تمييز للوسين (في حزمة Sandbox) لبعض الوقت.ومع ذلك، فإن هذا ليس دقيقًا جدًا عندما يتعلق الأمر بمطابقة المصطلحات الصحيحة في نتائج البحث - فهو يعمل بشكل جيد مع الاستعلامات البسيطة، على سبيل المثال، سيؤدي البحث عن كلمتين منفصلتين إلى إبراز جزأين التعليمات البرمجية في النتائج.

ومع ذلك، فإنه لا يعمل بشكل جيد مع الاستعلامات الأكثر تعقيدًا.في أبسط الحالات، ستتطابق استعلامات العبارات مثل "Stack Overflow" مع جميع تكرارات Stack أو Overflow في التمييز، مما يعطي انطباعًا للمستخدم بأنها لا تعمل بشكل جيد.

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

هل هناك أي تنفيذ أسرع لأداة تمييز دقيقة؟

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

المحلول

هناك أداة تمييز جديدة أسرع (تحتاج إلى التصحيح ولكنها ستكون جزءًا من الإصدار 2.9)

https://issues.Apache.org/jira/browse/LUCENE-1522

و أ مرجع خلفي على هذا السؤال

نصائح أخرى

يمكنك النظر في استخدام Solr. http://lucene.apache.org/solr

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

لقد قرأت عن هذا الموضوع وصادفته SPANQuery والتي من شأنها أن تعيد لك نطاق المصطلح أو المصطلحات المتطابقة في الحقل المطابق.

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