to keep URLs unchanged.
Also keep bold formatting.
Let’s produce final Arabic markdown.
كيفية إنشاء فهرس مع التعرف على الأحرف باستخدام GroupDocs.Search للغة Java
في التطبيقات الحديثة التي تتعامل مع كميات كبيرة من المستندات، كيفية إنشاء فهرس يحترم تفاصيل النص الخاص بك—مثل الشرطات، والشرطات السفلية، أو الرموز الخاصة باللغات—يعد أمرًا أساسيًا للاسترجاع السريع والدقيق. في هذا الدليل سنستعرض كيفية تكوين التعرف على الأحرف في GroupDocs.Search للغة Java، مع تغطية كل من الأحرف العادية (حروف، أرقام، شرطات سفلية) والأحرف المدمجة (مثل الشرطات). في النهاية، ستتمكن من تخصيص فهرس يلبي الاحتياجات الدقيقة لسيناريو OCR أو البحث عن الصور، سواء كنت تفهرس أرقام القضايا القانونية، أو مستودعات الشيفرة المصدرية، أو ملفات PDF متعددة اللغات.
إجابات سريعة
- ماذا يعني “إنشاء فهرس بحث مخصص”؟ يعني ذلك تكوين فهرس لمعالجة رموز معينة كحروف أو أحرف مدمجة، بدلاً من تجاهلها.
- أي مكتبة تُستخدم؟ GroupDocs.Search للغة Java (الإصدار 25.4 وقت كتابة هذا الدليل).
- هل أحتاج إلى ترخيص؟ النسخة التجريبية المجانية تكفي للتطوير؛ الترخيص المدفوع مطلوب للإنتاج.
- هل يمكنني فهرسة كل من ملفات PDF والصور؟ نعم—يدعم GroupDocs.Search OCR على الصور وملفات PDF عند تكوينه بشكل صحيح.
- هل Maven مطلوب؟ يُنصح باستخدام Maven لإدارة التبعيات، لكن يمكنك أيضًا استخدام Gradle أو ملفات JAR يدوية.
ما هو فهرس البحث المخصص؟
فهرس البحث المخصص يتيح لك تحديد كيفية تفسير محرك البحث للأحرف. بشكل افتراضي، يتم تجاهل العديد من الرموز، مما قد يؤدي إلى فقدان مطابقة لأشياء مثل أرقام القضايا (2023-AB-456) أو مقتطفات الشيفرة (my_variable). تعديل قاموس الأبجدية يمنحك السيطرة الكاملة على ما يعامله المحرك كنص قابل للبحث.
لماذا نُكوّن الأحرف العادية والمدمجة لأرقام القضايا القانونية؟
- الأحرف العادية (حروف، أرقام، شرطات سفلية) تُقسم إلى رموز منفصلة، مما يتيح بحثًا بالضبط عن المعرفات.
- الأحرف المدمجة (الشرطات، الفواصل) تُبقي الرموز المرتبطة معًا، مما يمنع تقسيم أرقام القضايا، أو رموز المنتجات، أو مسارات الملفات.
- هذا التكوين يُحسّن أداء فهرس البحث عن طريق تقليل تجزئة الرموز وتحسين الصلة للمحتوى الناتج عن OCR.
المتطلبات المسبقة
- JDK 8 أو أحدث مثبت.
- Maven لإدارة التبعيات.
- الوصول إلى مكتبة GroupDocs.Search للغة Java (يمكن تحميلها عبر Maven أو الموقع الرسمي).
المكتبات والتبعيات المطلوبة
أضف مستودع التبعيات وإدخالاتها إلى ملف pom.xml (كما هو موضح أدناه). يجب ترك كتلة XML دون تعديل.
<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>
يمكنك أيضًا تنزيل أحدث ملفات JAR من GroupDocs.Search للغة Java releases.
الحصول على الترخيص
- نسخة تجريبية – مثالية للتجربة الأولية.
- ترخيص مؤقت – مفيد لدورات تطوير أطول.
- ترخيص إنتاج – مطلوب للنشر التجاري.
احصل على ترخيص من البوابة الرسمية: GroupDocs.
التهيئة الأساسية
المقتطف أدناه يُظهر الحد الأدنى من الشيفرة اللازمة لإنشاء فهرس فارغ. اتركه كما هو؛ سنبني عليه لاحقًا.
import com.groupdocs.search.*;
public class GroupDocsSearchSetup {
public static void main(String[] args) {
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
Index index = new Index(indexFolder);
System.out.println("GroupDocs.Search setup completed!");
}
}
إعداد GroupDocs.Search للغة Java
التثبيت عبر Maven
تكوين Maven الموجود في قسم المتطلبات المسبقة هو كل ما تحتاجه. بعد إضافته، نفّذ الأمر mvn clean install لجلب الحزم.
متطلبات إعداد البيئة
- تأكد من وجود مجلد الفهرس ومجلد المستندات على القرص.
- استخدم مسارات مطلقة أو قم بتكوين بيئة التطوير المتكاملة (IDE) لتفسير المسارات النسبية بشكل صحيح.
دليل التنفيذ
فيما يلي نستعرض ميزتين مميزتين: الأحرف العادية والأحرف المدمجة. كل ميزة تتبع نفس النمط—تحديد المسارات، إنشاء الفهرس، ضبط قاموس الأحرف، وأخيرًا فهرسة المستندات.
الميزة 1 – الأحرف العادية
نظرة عامة
تُعامل الأحرف العادية كرموز مستقلة. هذا مثالي عندما تريد أن تكون الأرقام، الحروف، والشرطات السفلية قابلة للبحث كما هي بالضبط.
تنفيذ خطوة بخطوة
1️⃣ إعداد المسارات
حدد مكان تخزين الفهرس ومكان وجود المستندات المصدرية.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/RegularCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ إنشاء وتكوين الفهرس
أنشئ الفهرس وامسح أي تكوين أبجدية موجود مسبقًا.
Index index = new Index(indexFolder);
index.getDictionaries().getAlphabet().clear();
3️⃣ تعريف الأحرف العادية
أنشئ مصفوفة أحرف تشمل الأرقام، الحروف اللاتينية، والشرطة السفلية.
StringBuilder sb = new StringBuilder();
for (char i = 0x0030; i <= 0x0039; i++) { // Digits
sb.append(i);
}
for (char i = 0x0041; i <= 0x005A; i++) { // Latin capital letters
sb.append(i);
}
sb.append(0x005F); // Underscore
for (char i = 0x0061; i <= 0x007A; i++) { // Latin small letters
sb.append(i);
}
// Convert to character array and set as alphabet range
char[] characters = new char[sb.length()];
sb.getChars(0, sb.length(), characters, 0);
index.getDictionaries().getAlphabet().setRange(characters, CharacterType.Letter);
4️⃣ فهرسة المستندات
أضف جميع الملفات من المجلد المصدر إلى الفهرس المُكوَّن حديثًا.
index.add(documentFolder);
الميزة 2 – الأحرف المدمجة
نظرة عامة
الأحرف المدمجة (مثل الشرطات) غالبًا ما تربط كلمتين. وضعها كـ مدمجة يخبر المحرك بالحفاظ على الرموز المحيطة معًا أثناء الفهرسة.
تنفيذ خطوة بخطوة
1️⃣ إعداد المسارات
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/BlendedCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ إنشاء وتكوين الفهرس
Index index = new Index(indexFolder);
3️⃣ تعريف الأحرف المدمجة
هنا نخبر القاموس بأن الشرطة يجب أن تُعامل كحرف مدمج.
index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
4️⃣ فهرسة المستندات
index.add(documentFolder);
تطبيقات عملية
الحالة 1 – إدارة المستندات القانونية
غالبًا ما تحتوي الملفات القانونية على أرقام قضايا مثل 2023-AB-456. من خلال تكوين الشرطات السفلية والشرطات، تُعيد عمليات البحث مطابقة دقيقة دون تقسيم المعرف، مما يساعدك على البحث عن أرقام القضايا القانونية بفعالية.
الحالة 2 – مستودعات الشيفرة المصدرية
يحتاج المطورون إلى البحث في مقتطفات الشيفرة حيث تكون الشرطات السفلية (my_variable) والشرطات (my-function) ذات معنى. يضمن التعرف المخصص على الأحرف أن يحترم محرك البحث هذه الرموز.
الحالة 3 – مجموعات البيانات متعددة اللغات
عند العمل مع لغات تستخدم أبجديات إضافية، يمكنك توسيع مجموعة أحرف Unicode لتشمل تلك النطاقات، مما يضمن نتائج بحث دقيقة عبر اللغات.
الحالة 4 – فهرسة صور PDF
إذا كنت تفهرس ملفات PDF الممسوحة ضوئيًا أو صورًا، فإن مخرجات OCR غالبًا ما تحتوي على أحرف مختلطة. تكوين الأحرف العادية والمدمجة بشكل صحيح يُحسّن أداء فهرس البحث للمحتوى القائم على الصور.
اعتبارات الأداء
- إدارة الموارد – راقب استهلاك الذاكرة heap؛ الفهارس الكبيرة تستفيد من الالتزام التدريجي.
- جمع القمامة – حرّر كائنات
Indexعند الانتهاء للسماح لـ JVM باستعادة الذاكرة. - تحسين الفهرس – استدعِ دوريًا
index.optimize()(إن كان متوفرًا) لضغط الفهرس وتحسين سرعة الاستعلام.
الخلاصة
أنت الآن تعرف كيفية إنشاء فهرس يميز بين الأحرف العادية والمدمجة باستخدام GroupDocs.Search للغة Java. يتيح لك هذا التحكم الدقيق بناء حلول بحث عالية الأداء ومُعتمدة على OCR، مُصممة للبيئات القانونية، التطويرية، أو متعددة اللغات.
الخطوات التالية
- جرّب إضافة نطاقات Unicode إضافية لأبجديات غير لاتينية.
- ادمج تكوين الأحرف مع ميزات أخرى في GroupDocs.Search مثل التجذير (stemming) أو المرادفات.
- دمج الفهرس في واجهة برمجة تطبيقات REST لتوفير قدرات البحث لتطبيقات الواجهة الأمامية.
الأسئلة المتكررة
س: ما هو هدف CharacterType.Letter؟
ج: يُخبر الفهرس بأن الأحرف المُقدمة تُعامل كحروف عادية، لذا تُقسم إلى رموز منفصلة أثناء الفهرسة.
س: هل يمكنني دمج الأحرف العادية والمدمجة في نفس الفهرس؟
ج: نعم—ما عليك سوى استدعاء setRange لكل نوع؛ سيتعامل القاموس مع كلا التكوينين في آنٍ واحد.
س: هل يجب إعادة بناء الفهرس بعد تغيير الأبجدية؟
ج: بالتأكيد. تغييرات قاموس الأحرف تؤثر على عملية التقسيم إلى رموز، لذا يجب إعادة فهرسة المستندات لتطبيق القواعد الجديدة.
س: هل هناك حد لعدد الأحرف المخصصة التي يمكن تعريفها؟
ج: تدعم المكتبة النطاق الكامل لـ Unicode؛ قد يتدهور الأداء إذا أضفت مجموعة ضخمة جدًا، لذا يُفضَّل حصر الأحرف على ما تحتاجه فعليًا.
س: كيف يؤثر هذا على دقة OCR؟
ج: من خلال مواءمة مجموعة أحرف الفهرس مع مخرجات محرك OCR، تقل الأخطاء السلبية وتتحسن صلة النتائج العامة.
آخر تحديث: 2026-03-17
تم الاختبار مع: GroupDocs.Search 25.4 للغة Java
المؤلف: GroupDocs