بحث النص الكامل جافا: مستخرج ملفات السجل مع GroupDocs
بحث النص الكامل جافا هو حجر الأساس لأي نظام يجب أن يحدد المعلومات بسرعة داخل مجموعات ضخمة من المستندات. في هذا الدرس ستتعلم كيفية تكوين GroupDocs.Search، إنشاء مستخرج ملفات سجل مخصص، إضافة مستندات إلى الفهرس، وتحسين أداء البحث عند التعامل مع جيغابايتات من بيانات السجل.
ما ستتعلمه
- إعداد وتكوين GroupDocs.Search لجافا.
- تنفيذ مستخرج ملفات السجل الذي يحلل سجلات النص العادي بالطريقة التي تحتاجها.
- إضافة مستندات إلى الفهرس جنبًا إلى جنب مع PDFs، DOCX، وغيرها من الصيغ.
- سيناريوهات واقعية حيث يضيف مستخرج ملفات السجل قيمة قابلة للقياس.
- نصائح مثبتة لـ تحسين أداء البحث لأرشيفات السجل متعددة الجيغابايت.
إجابات سريعة
- ما هو مستخرج ملفات السجل؟ مكوّن مخصص يخبر GroupDocs.Search كيفية قراءة وفهرسة ملفات السجل النصية.
- لماذا تستخدم GroupDocs.Search؟ يدعم فهرسة أكثر من 50 صيغة، يوفر إعادة فهرسة تلقائية، ويتعامل مع فهارس تصل إلى 10 GB بأقل من 2 GB RAM.
- هل أحتاج إلى ترخيص؟ نعم – يلزم ترخيص تجريبي أو كامل لتفعيل المكتبة.
- هل يمكنني فهرسة أنواع ملفات أخرى في نفس الوقت؟ بالتأكيد؛ امزج PDFs، DOCX، وملفات السجل المخصصة في نفس الفهرس.
- كيف تحسن الأداء؟ استخدم الفهرسة المتزايدة، اضبط
IndexSettings، وفعل علمautoReindex.
المتطلبات المسبقة
قبل أن تبدأ، تأكد من أن لديك ما يلي:
المكتبات المطلوبة
أضف تبعية GroupDocs.Search Maven إلى ملف pom.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>
بدلاً من ذلك، قم بتنزيل أحدث نسخة مباشرة من GroupDocs.Search for Java releases.
إعداد البيئة
- JDK 8 أو أعلى.
- الإلمام ببرمجة جافا ومفاهيم التعامل مع الملفات الأساسية.
الحصول على الترخيص
ابدأ بتنزيل ترخيص تجريبي مجاني لاستكشاف ميزات GroupDocs.Search. للاستخدام في الإنتاج، اشترِ ترخيصًا كاملًا أو اطلب ترخيصًا مؤقتًا عبر GroupDocs’s website.
إعداد GroupDocs.Search لجافا
للشروع، قم بتهيئة المكتبة وتطبيق ملف الترخيص الخاص بك:
- إعداد Maven – تأكد من وجود التبعية من الخطوة السابقة.
- تهيئة الترخيص – حمّل ملف الترخيص قبل أي استدعاءات API أخرى.
License license = new License();
license.setLicense("path/to/license");
مع جاهزية البيئة، يمكنك المتابعة لبناء مستخرج ملفات السجل المخصص.
ما هو مستخرج ملفات السجل؟
مستخرج ملفات السجل هو قطعة من الشيفرة تخبر GroupDocs.Search كيفية قراءة ملفات السجل الخام (عادةً .log) وتحويل محتوياتها إلى نص قابل للبحث. من خلال توفير مستخرج خاص بك تحصل على تحكم كامل في قواعد التحليل، تصفية الضوضاء، واستخراج المعلومات التي تهم حالة البحث الخاصة بك.
إنشاء مستخرج ملفات السجل
يتيح لك GroupDocs.Search توصيل مستخرجات نص مخصصة لأي نوع ملف. اتبع الخطوات التالية لإنشاء واحد لملفات السجل.
الخطوة 1: تعريف المستخرج المخصص
TextExtractorBase هو الفئة الأساسية المجردة التي تقوم بتمديدها لإنشاء مستخرج مخصص. يعلن عن امتدادات الملفات التي يدعمها المستخرج ويحتوي على منطق الاستخراج الأساسي.
import com.groupdocs.search.extractors.TextExtractorBase;
public class LogExtractor extends TextExtractorBase {
@Override
public String[] getFileExtensions() {
return new String[]{"log"};
}
@Override
public String extractText(String documentContent) {
// Custom logic for extracting text from log files.
return documentContent; // Implement your custom extraction here.
}
}
نقاط رئيسية
getFileExtensions()يسجل المستخرج لملفات.log.extractTextهو المكان الذي يمكنك فيه إزالة الطوابع الزمنية، تصفية خطوط التصحيح، أو تطبيق أي معالجة مسبقة ضرورية لـ البحث في ملفات السجل الكبيرة.
الخطوة 2: تكوين إعدادات الفهرس مع المستخرج
أضف المستخرج إلى IndexSettings وفعل autoReindex بحيث يتم فهرسة السجلات الجديدة تلقائيًا دون تدخل يدوي.
IndexSettings يكوّن سلوك الفهرس مثل حدود الذاكرة والمستخرجات المخصصة.autoReindex يحدث الفهرس تلقائيًا عندما تتغير ملفات المصدر.
import com.groupdocs.search.Index;
import com.groupdocs.search.IndexSettings;
public class CustomTextExtractorFeature {
public static void main(String[] args) {
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
IndexSettings settings = new IndexSettings();
// Adding the custom text extractor to the settings.
settings.getCustomExtractors().addItem(new LogExtractor());
// Creating or loading an index with specified settings and enabling auto-reindexing.
Index index = new Index(indexFolder, settings, true);
}
}
الخطوة 3: إضافة مستندات إلى الفهرس
الآن بعد أن الفهرس يتعرف على ملفات السجل، يمكنك إضافة مستندات إلى الفهرس كما هو الحال مع أي صيغة مدعومة أخرى.
import com.groupdocs.search.Index;
public class AddDocumentsToIndexFeature {
public static void main(String[] args) {
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
// Loading or creating an index in the specified directory.
Index index = new Index(indexFolder);
// Adding documents from the folder to the index.
index.add(documentsFolder);
}
}
الخطوة 4: البحث في الفهرس
قم بتنفيذ استعلامات نصية عادية. يضمن المستخرج المخصص أن كل إدخال سجل قابل للبحث.
import com.groupdocs.search.Index;
import com.groupdocs.search.results.SearchResult;
public class SearchDocumentsFeature {
public static void main(String[] args) {
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
// Loading the existing index.
Index index = new Index(indexFolder);
// Define search queries
String query1 = "objection";
String query2 = "log";
// Performing searches and retrieving results.
SearchResult result1 = index.search(query1);
SearchResult result2 = index.search(query2);
}
}
نصائح لتحسين أداء البحث
- الفهرسة المتزايدة – أضف فقط ملفات السجل الجديدة أو المتغيرة بدلاً من إعادة بناء الفهرس بالكامل.
- إدارة الذاكرة – علم
autoReindexيحافظ على انخفاض استهلاك الذاكرة عن طريق تفريغ البيانات الوسيطة إلى القرص. - إعدادات الفهرس – اضبط
setMaxMemoryUsageبناءً على سعة الخادم؛ الإعداد النموذجي هو 1 GB لفهرس بحجم 10 GB. - تحسين الاستعلام – استخدم استعلامات العبارة، الأحرف البديلة، أو الفلاتر لتضييق النتائج عند البحث في أرشيفات السجل الضخمة.
تطبيقات عملية
يمكن تطبيق GroupDocs.Search في العديد من السيناريوهات الواقعية، مثل:
- إدارة السجلات – تحديد رسائل الخطأ، إجراءات المستخدم، أو طوابع زمنية محددة عبر جيغابايتات من بيانات السجل في ثوانٍ.
- أنظمة استرجاع المستندات – الحفاظ على مستودع واحد قابل للبحث يشمل PDFs، مستندات Word، جداول البيانات، وملفات السجل المخصصة.
- تحليل المحتوى – تشغيل تقارير تكرار الكلمات المفتاحية أو اكتشاف الشذوذ في بيانات السجل المتدفقة.
اعتبارات الأداء
عند نشر GroupDocs.Search على نطاق واسع، احرص على مراعاة هذه الممارسات الأفضل:
- خزن الفهارس على SSDs سريعة لتقليل زمن القراءة/الكتابة.
- راقب استهلاك كومة JVM؛ فكر في تفريغ الفهارس الكبيرة إلى عملية منفصلة إذا أصبحت الذاكرة عنق زجاجة.
- فعّل
autoReindex(كما هو موضح) للحفاظ على تحديث الفهرس دون إعادة بناء يدوية.
الخلاصة
حتى الآن، لقد أنشأت مستخرج ملفات السجل، وتعلمت كيفية إضافة مستندات إلى الفهرس، واكتشفت طرقًا لـ تحسين أداء البحث لأرشيفات السجل الكبيرة. هذه المجموعة تمكّن تطبيقات جافا الخاصة بك من توفير بحث نص كامل سريع ودقيق عبر أي نوع مستند.
لمزيد من الاستكشاف، راجع GroupDocs documentation الرسمي أو جرب تنفيذات مستخرج مختلفة لتناسب حالة الاستخدام الفريدة الخاصة بك.
قسم الأسئلة المتكررة
- ما أنواع الملفات التي يمكنني فهرستها باستخدام GroupDocs.Search؟
- يمكنك فهرسة PDFs، مستندات Word، جداول البيانات، والعديد من الصيغ الأخرى، بالإضافة إلى ملفات السجل المخصصة عبر مستخرجات النص.
- كيف أتعامل مع مجموعات مستندات كبيرة بكفاءة؟
- استخدم التحديثات المتزايدة، قسّم الفهارس، واضبط
IndexSettingsلإدارة الموارد بفعالية.
- استخدم التحديثات المتزايدة، قسّم الفهارس، واضبط
- هل يمكن دمج GroupDocs.Search مع أنظمة أخرى؟
- نعم، فهو يقدم API جافا نظيف يمكن دمجه في الخدمات الحالية، الخدمات الصغيرة (micro‑services)، أو تطبيقات الويب.
- ما هو الترخيص المؤقت، وكيف أحصل عليه؟
- الترخيص المؤقت يمنح كامل الوظائف للتقييم دون حدود زمنية. قدِّم طلبًا عبر GroupDocs’s website.
أسئلة متكررة
س: كيف يختلف مستخرج ملفات السجل عن المستخرج الافتراضي؟
ج: المستخرج الافتراضي يتعامل مع الصيغ الشائعة (PDF، DOCX، إلخ). يتيح لك مستخرج ملفات السجل المخصص تحديد كيفية تحليل وفهرسة إدخالات السجل النصية بدقة.
س: هل يمكنني فهرسة أرشيفات السجل المضغوطة (مثل .zip)؟
ج: نعم، عبر إضافة خطوة معالجة مسبقة تستخرج الملفات من الأرشيف قبل تمريرها إلى الفهرس.
س: ما هي أفضل طريقة للحفاظ على تحديث الفهرس مع السجلات التي تُولد باستمرار؟
ج: فعّل autoReindex وجدول مراقب خلفية يستدعي index.add(newLogFile) كلما ظهر ملف جديد.
س: هل هناك حد لحجم ملف سجل واحد يمكن فهرسته؟
ج: عمليًا، الحد مرتبط بالذاكرة المتاحة. يُنصح بتقسيم السجلات الكبيرة جدًا إلى أجزاء أصغر قبل الفهرسة.
س: هل يدعم GroupDocs.Search البحث الضبابي أو باستخدام الأحرف البديلة؟
ج: نعم، تشمل API البحث مطابقة ضبابية، أحرف بديلة، واستعلامات القرب لتحسين صلة النتائج.
آخر تحديث: 2026-08-05
تم الاختبار مع: GroupDocs.Search 25.4 لجافا
المؤلف: GroupDocs