| date | 2026-02-21 | |||
|---|---|---|---|---|
| description | تعلم كيفية إضافة المستندات إلى الفهرس وزيادة أداء البحث باستخدام البحث القائم على القطع في جافا باستخدام GroupDocs.Search، مع تحسين ذاكرة فهرس البحث في جافا لمجموعات المستندات الكبيرة. | |||
| keywords |
|
|||
| title | إضافة مستندات إلى الفهرس باستخدام البحث القائم على القطع في جافا | |||
| type | docs | |||
| url | /ar/java/advanced-features/groupdocs-search-java-chunk-based-search-tutorial/ | |||
| weight | 1 |
to translate table content. Keep pipe separators.
Make sure Arabic RTL but just normal text.
Let's produce translation.
Be careful: In markdown, headings start with #. We'll translate after #.
Also bullet lists.
Let's translate.
We'll keep URLs unchanged.
Let's produce final answer.# إضافة مستندات إلى الفهرس مع البحث القائم على القطع في Java
في التطبيقات الحديثة التي تحتاج إلى إضافة مستندات إلى الفهرس بسرعة ثم إجراء استعلامات سريعة قائمة على القطع، ستحتاج إلى حل يتوسع دون استهلاك الذاكرة بشكل مفرط. يوضح هذا البرنامج التعليمي كيفية إعداد GroupDocs.Search لـ Java، وإضافة مجلدات مستندات متعددة، وتكوين المحرك لت زيادة أداء البحث مع الحفاظ على استهلاك ذاكرة فهرس البحث java تحت السيطرة. سواء كنت تقوم بفهرسة العقود القانونية أو تذاكر الدعم أو الأوراق البحثية، ستوفر لك الخطوات أدناه تنفيذًا جاهزًا للإنتاج.
- ما هي الخطوة الأولى؟ إنشاء مجلد فهرس البحث.
- كيف يمكنني تضمين ملفات متعددة؟ استخدم
index.add()لكل مجلد مستندات. - أي خيار يفعّل البحث القائم على القطع؟
options.setChunkSearch(true). - هل يمكنني الاستمرار في البحث بعد القطعة الأولى؟ نعم، استدعِ
index.searchNext()مع الرمز المميز. - هل أحتاج إلى ترخيص؟ نسخة تجريبية مجانية أو ترخيص مؤقت يكفي للتطوير؛ الترخيص الكامل مطلوب للإنتاج.
- كيفية إنشاء فهرس بحث في مجلد محدد.
- خطوات إضافة مستندات إلى الفهرس من مواقع متعددة.
- تكوين خيارات البحث لتمكين البحث القائم على القطع.
- إجراء عمليات بحث أولية وتالية قائمة على القطع.
- سيناريوهات واقعية حيث يبرز البحث القائم على القطع.
للتبع هذا الدليل، تأكد من وجود ما يلي:
- المكتبات المطلوبة: GroupDocs.Search لـ Java 25.4 أو أحدث.
- إعداد البيئة: وجود مجموعة تطوير Java (JDK) متوافقة مثبتة.
- المتطلبات المعرفية: معرفة أساسية ببرمجة Java وإلمام بـ Maven.
للبدء، دمج GroupDocs.Search في مشروعك باستخدام Maven:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>بدلاً من ذلك، حمّل أحدث نسخة من إصدارات GroupDocs.Search لـ Java.
لتجربة GroupDocs.Search:
- نسخة تجريبية – اختبار الميزات الأساسية دون التزام.
- ترخيص مؤقت – وصول ممتد للتطوير.
- شراء – ترخيص كامل للاستخدام الإنتاجي.
أنشئ فهرسًا في المجلد الذي تريد أن تعيش فيه البيانات القابلة للبحث:
import com.groupdocs.search.*;
public class CreateIndex {
public static void main(String[] args) {
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
}
}الآن بعد أن تم إنشاء الفهرس، الخطوة المنطقية التالية هي إضافة مستندات إلى الفهرس من المواقع التي تُخزن فيها ملفاتك.
نظرة عامة: إعداد دليل لفهرس البحث.
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";Index index = new Index(indexFolder);نظرة عامة: سحب الملفات من عدة مجلدات مصدر.
String documentsFolder1 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder2 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder3 = "YOUR_DOCUMENT_DIRECTORY";index.add(documentsFolder1);
index.add(documentsFolder2);
index.add(documentsFolder3);فعّل البحث القائم على القطع عن طريق تعديل كائن الخيارات.
SearchOptions options = new SearchOptions();options.setChunkSearch(true);نفّذ الاستعلام الأول باستخدام الخيارات المفعّلة للقطع.
String query = "invitation";SearchResult result = index.search(query, options);تكرار عبر القطع المتبقية حتى يكتمل البحث.
while (result.getNextChunkSearchToken() != null) {
result = index.searchNext(result.getNextChunkSearchToken());
}يقسّم البحث القائم على القطع مجموعات المستندات الضخمة إلى أجزاء يمكن التحكم فيها، مما يقلل من ضغط الذاكرة ويسرّع أوقات الاستجابة. يكون ذلك مفيدًا خصوصًا عندما:
- الفرق القانونية تحتاج إلى العثور على بنود محددة عبر آلاف العقود.
- بوابات دعم العملاء يجب أن تعرض مقالات قاعدة المعرفة ذات الصلة فورًا.
- الباحثون يتنقلون عبر مجموعات بيانات واسعة دون تحميل الملفات بالكامل في الذاكرة.
من خلال البحث في قطع أصغر بدلاً من الملفات الكاملة، يمكن للمحرك:
- تخطي الأقسام غير ذات الصلة مبكرًا، مما يقلل من دورات CPU.
- إبقاء القطعة النشطة فقط في الذاكرة، مما يقلل مباشرةً من استهلاك ذاكرة فهرس البحث java.
- موازاة معالجة القطع على أجهزة متعددة الأنوية للحصول على نتائج أسرع.
بينما يقلل البحث القائم على القطع من البصمة الذاكرية بالفعل، يمكنك تحسين JVM أكثر:
- خصص حجم heap كافٍ (
-Xmx2gأو أعلى) بناءً على حجم الفهرس. - استخدم
index.optimize()بعد الإضافات الضخمة لضغط بنية الفهرس. - راقب توقفات GC باستخدام أدوات مثل VisualVM لتجنب spikes في زمن الاستجابة.
- إدارة الذاكرة – خصص مساحة heap كافية (
-Xmx) للفهارس الكبيرة. - مراقبة الموارد – راقب استهلاك CPU أثناء عمليات الفهرسة والبحث.
- صيانة الفهرس – أعد بناء الفهرس أو نظفه دوريًا للتخلص من البيانات القديمة.
| المشكلة | السبب | الحل |
|---|---|---|
OutOfMemoryError أثناء الفهرسة |
حجم heap منخفض | زيادة حجم heap في JVM (-Xmx2g أو أعلى) |
| لا تُرجع أي نتائج | رمز القطعة غير معالج | تأكد من أن حلقة while تستمر حتى يصبح getNextChunkSearchToken() null |
| بطء في أداء البحث | الفهرس غير مُحسّن | تشغيل index.optimize() بعد الإضافات الضخمة |
س: ما هو البحث القائم على القطع؟
ج: البحث القائم على القطع يقسم مجموعة البيانات إلى أجزاء أصغر، مما يسمح باستعلامات فعّالة على أحجام كبيرة من البيانات دون تحميل المستندات بالكامل في الذاكرة.
س: كيف أقوم بتحديث فهرسي بملفات جديدة؟
ج: ما عليك سوى استدعاء index.add() مع مسار المستندات الجديدة؛ سيُدمج الفهرس هذه الملفات تلقائيًا.
س: هل يدعم GroupDocs.Search صيغ ملفات مختلفة؟
ج: نعم، يدعم PDFs، DOCX، XLSX، PPTX، والعديد من الصيغ الشائعة الأخرى.
س: ما هي الاختناقات الأداء النموذجية؟
ج: قيود الذاكرة والفهارس غير المُحسّنة هي الأكثر شيوعًا؛ خصص heap كافيًا وحسّن الفهرس بانتظام.
س: أين يمكنني العثور على وثائق أكثر تفصيلًا؟
ج: زر الوثائق الرسمية لـ GroupDocs.Search Documentation للحصول على أدلة متعمقة ومراجع API.
س: هل يعمل البحث القائم على القطع مع ملفات PDF مشفّرة؟
ج: نعم، طالما قمت بتوفير كلمة المرور عبر التحميل المناسب للـ API.
س: كيف يمكنني مراقبة تقدم الفهرسة؟
ج: استخدم التحميل الزائد Index.add() الذي يُعيد كائن Progress أو اربط callbacks للتسجيل.
- الوثائق: GroupDocs.Search for Java Docs
- مرجع API: GroupDocs.Search API Reference
- التنزيل: GroupDocs.Search Releases
- GitHub: GroupDocs.Search GitHub Repository
- الدعم المجاني: GroupDocs Forum
- ترخيص مؤقت: Obtain a Temporary License
آخر تحديث: 2026-02-21
تم الاختبار مع: GroupDocs.Search 25.4 for Java
المؤلف: GroupDocs