نظام استيعاب مستندات مرن للغاية وقابل للتطوير ومتسامح مع الأخطاء ومصمم للبحث.
يتم تشغيل البنيات على البنية التحتية التي تم التبرع بها من قبل
في كثير من الأحيان، تبدأ مشاريع البحث بتغذية بعض المستندات يدويًا إلى محرك بحث، غالبًا عبر ميزات المعالجة المضمنة "للاختبار فقط" في Solr مثل SolrCell أو post.jar. تم توثيق هذه الميزات وإدراجها لمساعدة المستخدم في التعرف على ما يمكنه فعله باستخدام Solr بأقل قدر من الإعداد المؤلم.
هذا أمر جيد، وهذا ما ينبغي أن يكون عليه الحال بالنسبة للاستكشافات الأولى. ولسوء الحظ، فهو أيضًا فخ محتمل.
في كثير من الأحيان، يستمر المستخدمون الذين لا يعرفون شيئًا أفضل، وربما يتم تضليلهم بحقيقة أن هذه الواجهات موثقة في الدليل المرجعي (ويفترضون أن أي شيء موثق يجب أن يكون "الطريقة الصحيحة" للقيام بذلك)، في تطوير نظام البحث الخاص بهم عن طريق أتمتة استخدام تلك الواجهات نفسها. ومن باب الإنصاف لهؤلاء المستخدمين، فشلت بعض الإصدارات القديمة من دليل Solr Ref في تحديد طبيعة الواجهة "للاختبار فقط"، وأحيانًا لأن الأمر استغرق بعض الوقت حتى يدرك المجتمع المخاطر المرتبطة بها.
لسوء الحظ، فإن استيعاب المستندات للبحث على نطاق واسع ليس بالأمر التافه، كما أن واجهات الفهرسة هذه ليست مخصصة للاستخدام في الإنتاج. والنتيجة المعتادة هي أنها تعمل "بشكل جيد" لمجموعة اختبار صغيرة ثم تصبح غير مستقرة في مجموعة إنتاج أكبر. غالبًا ما تحتاج التعليمات البرمجية المكتوبة لتغذيتها في مثل هذه الواجهات إلى التكرار لعدة أنواع من المستندات أو لتنسيقات المستندات المختلفة، ويمكن أن تؤدي بسهولة إلى النسخ والنسخ والقص واللصق للوظائف الشائعة. وأيضًا، بعد استثمار قدر كبير من الهندسة لجعل مثل هذه الحلول تعمل على مجموعة كبيرة، فإن الشيء التالي الذي اكتشفوه هو أنه ليس لديهم طريقة للتعافي إذا فشلت الفهرسة جزئيًا. في أسوأ الحالات، يرتبط الفشل بحجم المجموعة وتصبح حالات الفشل شائعة بشكل متزايد مع نمو المجموعة حتى تصبح فرصة إكمال التشغيل والفهرسة ضئيلة وفي النهاية لا يمكن فهرسة النظام أو ترقيته على الإطلاق إذا سمح بالمشكلة لتتفاقم. والنتيجة هي مجموعة رهيبة ومؤلمة ومكلفة من آلام النمو.
تسعى JesterJ إلى تسهيل البدء ببنية أساسية قوية للفهرسة كاملة المزايا، بحيث لا تضطر إلى إعادة اختراع العجلة. من المفترض أن يكون JesterJ نظامًا لن تحتاج إلى التخلي عنه حتى تعمل على عدد كبير جدًا من المستندات (ونأمل أن تكون بحلول هذه المرحلة قد حققت بالفعل أرباحًا جيدة يمكن أن تدفع مقابل حل مخصص كبير!). يتم توفير مجموعة متنوعة من مكونات المعالجة القابلة لإعادة الاستخدام، كما أن كتابة المعالجات المخصصة الخاصة بك أمر بسيط مثل تنفيذ واجهة مكونة من 4 طرق باتباع بعض الإرشادات البسيطة.
غالبًا ما يكون الإصدار الأول من نظام فهرسة المستندات في Solr أو أي محرك بحث آخر خطيًا ومباشرًا إلى حد ما، ولكن مع مرور الوقت، غالبًا ما تضيف الميزات والتحسينات تعقيدًا. وفي أحيان أخرى، يكون النظام معقدًا منذ البداية، ربما بسبب إضافة البحث إلى نظام موجود. تم تصميم JesterJ للتعامل مع سيناريوهات الفهرسة المعقدة. خذ بعين الاعتبار سير عمل الفهرسة الافتراضي التالي:
يتعامل JesterJ مع مثل هذه السيناريوهات من خلال خطة معالجة مركزية واحدة، وسيضمن أنه إذا تم فصل النظام، فلن تتلقى رسالة ثانية حول استلام الطلب. الوضع الافتراضي لـ JesterJ هو ضمان التسليم مرة واحدة على الأكثر للخطوات التي لم يتم تصنيفها على أنها آمنة أو غير فعالة. الخطوات الآمنة ليس لها تأثيرات خارجية، وقد يتم تكرار الخطوات غير الفعالة في الطريق إلى نقطة نهاية المعالجة النهائية.
راجع الموقع والوثائق لمزيد من المعلومات
يرجى الاطلاع على الوثائق في الويكي
الإصدار الحالي : 1.0-Beta3. هذا هو الإصدار الأفضل للاستخدام، ويجب أن يكون عمليًا في الغالب. (المسألة المعروفة: #189)
الإصدار التالي: 1.0-Beta4 سيتم نشره قريبًا إذا لم يتم العثور على مشكلات خطيرة في غضون أسبوعين، سيتم إصدار 1.0.
ملاحظة: يستهدف الكود الحالي والإصدار 1.0 القادم أي تصميم وتحميل يمكن خدمته بواسطة جهاز واحد. تم تصميم JesterJ بشكل صريح للاستفادة من الأجهزة التي تحتوي على العديد من المعالجات. يمكنك تصميم خطتك باستخدام نسخ مكررة من أبطأ خطواتك لتخفيف الاختناقات. تتضمن كل نسخة مكررة مؤشر ترابط إضافي يعمل على تلك الخطوة. تم التخطيط للقياس التلقائي لسلاسل العمليات للإصدار 1.1 ويعتبر القياس عبر العديد من الأجهزة أولوية رئيسية لإصدارات 2.x. كما هو الحال دائمًا، إذا كنت تريد هذه الميزات عاجلاً، فيرجى بدء مناقشة والمساهمة في العلاقات العامة إذا كنت قادرًا!
حاليًا، تم اختبار JDK 11 فقط بشكل منتظم. يجب أن يعمل أي توزيع لـ JDK 11. تم التخطيط لدعم Java 17 وإصدارات LTS المستقبلية للإصدارات المستقبلية.
ناقش الميزات واطرح الأسئلة وما إلى ذلك على Discord: https://discord.gg/RmdTYvpXr9
في هذا الإصدار لدينا الميزات التالية
~/.jj/cassandra
تم تصميم الإصدار 1.0 ليكون قابلاً للاستخدام لأنظمة العقدة الواحدة، وبالتالي فهو مناسب للاستخدام في المشاريع الصغيرة والمتوسطة الحجم (عشرات الملايين أو ربما مئات الملايين من المستندات).
أفضل تخمين في أي وقت لما سيكون في الإصدارات المستقبلية يتم تقديمه من خلال مرشحات المعالم الرئيسية في صفحة المشكلات الخاصة بنا