المؤسسة العامة: تعبئة الحقول منفصلة من Tokenizer

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

  •  06-07-2019
  •  | 
  •  

سؤال

ولقد خلق العرف Tokenizer في المؤسسة العامة التي تبدو للكيانات اسمه. وأود أن تكون قادرة على استخدام هذه المعلومات لتجميع حقول منفصلة داخل / وثيقة المؤسسة العامة لوسين.

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

ومن الأبحاث التي قمت بها، لا توجد وسيلة للوصول إلى كائن SolrDocument من Tokenizer أو TokenizerFactory حتى لا يكون هناك أي وسيلة لملء الحقول من هنا.

والحل الذي جئت مع حتى الآن هو خلق UpdateRequestProcessorFactory العرف الذي يعالج النص واستخراج الحقول، ثم Tokenizer بمعالجة النص AGAIN للحصول على الرموز. وأود أن تجد وسيلة لتكون قادرة على القيام بذلك العمل وفقط معالجة النص مرة واحدة.

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

المحلول

والطريقة أفعل ذلك هو أقل الأنيق الذي ما يبدو كنت اطلاق النار ل:

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

نصائح أخرى

إليك فكرة وأعتقد أن العمل في لوسين، ولكن ليس لدي فكرة اذا كان من الممكن في المؤسسة العامة. هل يمكن أن tokenize سلسلة خارج سلسلة tokenstream نموذجية كما اشرتم ثم يدويا إضافة الرموز إلى المستند باستخدام في NOT_ANALYZED الخيار . يجب عليك إضافة كل رمز على حدة مع document.add (...) التي لوسين ستعامل على أنها حقل واحد للبحث.

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