كيفية الفرز حسب حقل Lucene.Net وتجاهل كلمات التوقف الشائعة مثل "a" و"the"؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لقد وجدت كيفية فرز نتائج الاستعلام حسب حقل معين في فهرس Lucene.Net بدلا من النتيجة؛كل ما يتطلبه الأمر هو حقل مفهرس ولكن ليس مميزًا.ومع ذلك، ما لم أتمكن من اكتشافه هو كيفية فرز هذا الحقل مع تجاهل كلمات التوقف مثل "a" و"the"، بحيث يتم فرز عناوين الكتب التالية، على سبيل المثال، بترتيب تصاعدي كما يلي:

  1. القطة في القبعة
  2. هورتون يسمع من

هل مثل هذا الشيء ممكن، وإذا كان الجواب بنعم، كيف؟

أنا أستخدم Lucene.Net 2.3.1.2.

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

المحلول

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

نصائح أخرى

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

لقد مر وقت طويل منذ أن استخدمت Lucene ولكن تخميني هو إضافة حقل إضافي لفرز القيمة وتخزينها هناك مع تجريد كلمات التوقف بالفعل.ربما يمكنك استخدام نفس المحللين لتوليد هذه القيمة.

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

للبحث وجدت ابحث في فهرس lucene .net مع خيار الفرز رابط مثير للاهتمام لحل مشكلتك

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