الحصول على شروط الاستعلام من استعلام لوسين للتسلط الضوء

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

سؤال

عادة ما توجد استعلامات Lucene الخاصة بي عادة حفنة من المجالات والمجتمعة. هل من الممكن الحصول على الحقول المستحقة خارج كائن الاستعلام مرة أخرى؟

لا يوجد حل صحيح

نصائح أخرى

هل تقصد استخراج المصطلحات أو أسماء الحقول؟ نظرا لأنك تعرف بالفعل أنك تتعامل مع أداة لمنطقية، لاستخراج الحقول، يمكنك ببساطة تكرار صفيف BooleanClause الذي تم إرجاعه بواسطة PooleanQuery.getClauses ()، أعد كتابة كل جملة إلى استعلامها الأساسي (استعلامه) وتطبيق متكرر حتى يكون لديك على يديك.

إذا كنت تعني مصطلح الاستخراج، لست متأكدا من Lucene.net، ولكن في Java Lucene، يمكنك استخدام Org.apache.lucene.search.highlight.querytermextractor؛ يمكنك تمرير الاستعلام (إعادة كتابة) إلى أحد الزائد من الحمل الزائد والحصول على مجموعة من الأوزان.

بقدر ما أتذكر، يعد السلبي لاستخدام هذه التقنية:

  • نظرا لأنه يستخدم داخليا مجموعة مصطلح لن تتعامل مع مثيلات متعددة من نفس الرمز المميز، مثل "الحلم داخل الحلم"
  • يدعم فقط أنواع الاستعلام الأساسية (ALERQUERY، المنطقي وأي نوع استعلام آخر يدعم Query.extractterms). أعتقد أننا استخدمناها داخليا عن مثيلات Spannearquery و spannearorderedquery، لكن قد أكون مخطئا في هذا.

وفي كلتا الحالتين آمل أن يكون هذا كافيا لتبدأ.

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