سؤال

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

سأستخدم Solr، لكنني لا أعرف ما هو أفضل نهج لبناء هيكل الفهرس الخاص بي. كان نهجي الأول:

<fields>
<field name="id" require="true"/>
<field name="uid" require="true"/>
//A lot of other fields
<dynamicField name="attachmentName_*" require="false">
<dynamicField name="attachmentBody_*" require="false">
</fields>

لكن الآن لست متأكدا مما إذا كان أفضل هيكل. لا أعتقد أنني أستطيع البحث عن مصطلح واحد (على سبيل المثال stackoverflow.) ومعرفة أين كان المصطلح (على سبيل المثال الملحق_1. أو _2 أو _3 إلخ) مع استعلام واحد.

أي شخص لديه اقتراح أفضل لهيكل الفهرس؟

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

المحلول 2

لقد وجدت حل واحد ممكن. كل ما أحتاج إلى القيام به هو تعيين مرفق كما تخزين.

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

نصائح أخرى

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

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

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