diff --git a/content/arabic/java/getting-started/_index.md b/content/arabic/java/getting-started/_index.md new file mode 100644 index 00000000..6b934a38 --- /dev/null +++ b/content/arabic/java/getting-started/_index.md @@ -0,0 +1,99 @@ +--- +date: 2025-12-29 +description: دليل خطوة بخطوة حول كيفية تكوين GroupDocs.Search لمطوري جافا، يغطي التثبيت + والترخيص وإنشاء أول حل بحث لك. +title: 'كيفية تكوين GroupDocs.Search - دروس البدء للغة Java' +type: docs +url: /ar/java/getting-started/ +weight: 1 +--- + +# كيفية تكوين GroupDocs.Search - دروس البدء للمطورين بلغة Java + +مرحبًا بكم في الدليل الشامل حول **كيفية تكوين GroupDocs.Search** لتطبيقات Java. في هذا البرنامج التعليمي ستتعلم الخطوات الأساسية لتثبيت المكتبة، إعداد الترخيص، وبناء أول حل للبحث في المستندات. سواءً كنت تبدأ مشروعًا جديدًا أو تدمج البحث في قاعدة شفرة موجودة، فإن هذا الشرح يزودك بكل ما تحتاجه لتبدأ بسرعة. + +## إجابات سريعة +- **ما هي الخطوة الأولى؟** تثبيت حزمة GroupDocs.Search Java عبر Maven أو Gradle. +- **هل أحتاج إلى ترخيص؟** نعم – ترخيص مؤقت يعمل للتطوير؛ الترخيص الكامل مطلوب للإنتاج. +- **أي بيئة تطوير متكاملة (IDE) هي الأنسب؟** أي IDE للـ Java (IntelliJ IDEA، Eclipse، VS Code) يدعم مشاريع Maven/Gradle. +- **هل يمكنني فهرسة ملفات PDF وWord؟** بالتأكيد – يدعم GroupDocs.Search مجموعة واسعة من صيغ المستندات مباشرةً. +- **كم يستغرق الإعداد؟** عادةً أقل من 15 دقيقة لمشروع جديد. + +## ما هو “كيفية تكوين GroupDocs.Search”؟ +يعني تكوين GroupDocs.Search إعداد المكتبة لفهرسة المستندات، تحديد مواقع التخزين، وتطبيق مفتاح الترخيص بحيث يمكن للـ API العمل دون قيود. يضمن التكوين الصحيح الحصول على نتائج بحث سريعة ودقيقة وتكامل سلس مع شفرة Java الخاصة بك. + +## لماذا نكوّن GroupDocs.Search للـ Java؟ +- **تنفيذ سريع** – يتطلب القليل من الشيفرة للبدء في الفهرسة والبحث. +- **فهرسة قابلة للتوسع** – يتعامل مع مجموعات مستندات كبيرة دون فقدان الأداء. +- **دعم صيغ واسع** – يعمل مع PDFs، DOCX، XLSX، PPTX، والعديد من الأنواع الأخرى. +- **ترخيص آمن** – يضمن الامتثال ويفتح جميع الميزات المتقدمة. + +## المتطلبات المسبقة +- مجموعة تطوير Java (JDK) 8 أو أعلى. +- Maven 3 أو Gradle 5 لإدارة الاعتمادات. +- الوصول إلى مفتاح ترخيص GroupDocs.Search مؤقت أو دائم. + +## دليل خطوة بخطوة + +### الخطوة 1: إضافة GroupDocs.Search إلى مشروعك +قم بإدراج اعتماد GroupDocs.Search في ملف `pom.xml` (Maven) أو `build.gradle` (Gradle). سيجعل ذلك المكتبة متاحة لشيفرتك. + +### الخطوة 2: تطبيق الترخيص الخاص بك +أنشئ كائن `License` وحمّل ملف الترخيص المؤقت أو الدائم. هذه الخطوة تفتح جميع الوظائف وتزيل حدود التقييم. + +### الخطوة 3: تهيئة إعدادات الفهرس +حدد أين سيتم تخزين ملفات الفهرس على القرص وتهيئ أي خيارات فهرسة مخصصة تحتاجها (مثل حساسية الحالة، كلمات التوقف). + +### الخطوة 4: فهرسة مستنداتك +استخدم الفئة `Indexer` لإضافة ملفات أو مجلدات إلى الفهرس. يكتشف GroupDocs.Search صيغ الملفات تلقائيًا ويستخرج النص القابل للبحث. + +### الخطوة 5: تنفيذ استعلام بحث +أنشئ كائن `SearchOptions`، حدد سلسلة الاستعلام، ونفّذ البحث. تُعيد الـ API قائمة بالمستندات المطابقة مع درجات الصلة. + +### الخطوة 6: مراجعة النتائج +تجول في نتائج البحث، اعرض أسماء الملفات، واختياريًا ظلل المصطلحات المتطابقة في واجهة المستخدم. + +## المشكلات الشائعة والحلول +- **الترخيص غير معترف به** – تحقق من مسار ملف الترخيص وتأكد من أنه يتطابق مع نسخة GroupDocs.Search التي تستخدمها. +- **صيغ المستندات مفقودة** – ثبّت الإضافة الاختيارية `groupdocs-conversion` إذا كنت تحتاج دعمًا لأنواع ملفات أقل شيوعًا. +- **اختناقات الأداء** – استخدم الفهرسة المتزايدة وعيّن مجلد الفهرس على تخزين SSD للوصول الأسرع. + +## الأسئلة المتكررة + +**س: هل يمكنني استخدام GroupDocs.Search على خادم Linux؟** +ج: نعم، المكتبة مستقلة عن المنصة وتعمل على أي نظام تشغيل يدعم Java. + +**س: كيف أقوم بتحديث الفهرس بعد إضافة ملفات جديدة؟** +ج: استدعِ الفئة `Indexer` مرة أخرى مع الملفات الجديدة؛ ستدمج المكتبة هذه الملفات في الفهرس الحالي. + +**س: هل هناك طريقة لتقييد نتائج البحث على مجلد معين؟** +ج: نعم، اضبط `SearchOptions` لتشمل مرشح المجلد قبل تنفيذ الاستعلام. + +**س: ماذا يحدث إذا تجاوزت فترة الترخيص المؤقت؟** +ج: ستستمر الـ API في العمل في وضع التقييم مع ميزات محدودة؛ استبدل ملف الترخيص بمفتاح دائم لاستعادة الوظائف الكاملة. + +**س: هل يدعم GroupDocs.Search البحث الضبابي (fuzzy search)؟** +ج: بالتأكيد – فعّل المطابقة الضبابية في `SearchOptions` لاسترجاع نتائج مع اختلافات إملائية طفيفة. + +## موارد إضافية + +### الدروس المتاحة + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +تعرف على كيفية نشر وتكوين GroupDocs.Search للـ Java من خلال هذا الدليل خطوة بخطوة. عزّز فهرسة المستندات وقدرات البحث في مشاريعك. + +### روابط مفيدة +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**آخر تحديث:** 2025-12-29 +**تم الاختبار مع:** GroupDocs.Search 23.12 للـ Java +**المؤلف:** GroupDocs + +--- \ No newline at end of file diff --git a/content/arabic/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/arabic/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..f3a0bdbd --- /dev/null +++ b/content/arabic/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,245 @@ +--- +date: '2025-12-29' +description: تعلم كيفية تنظيف الدليل في جافا، وأتمتة إدارة المستندات، وإعادة تسمية + الملفات باستخدام GroupDocs.Search للـ Java. عزّز كفاءة تطبيقاتك. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: تنظيف الدليل جافا – أتمتة الفهرسة وإعادة التسمية +type: docs +url: /ar/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# تنظيف الدليل في جافا – أتمتة فهرسة المستندات وإعادة تسميتها باستخدام GroupDocs.Search + +إذا كنت بحاجة إلى **clean directory java** أثناء أتمتة فهرسة المستندات وإعادة تسميتها، فقد وصلت إلى المكان الصحيح. التعامل اليدوي مع نقل الملفات، حذفها، وتحديث الفهرس عرضة للأخطاء وتستغرق وقتًا طويلاً. في هذا الدرس سنوضح لك كيفية جعل جافا تقوم بالعمل الشاق، باستخدام **GroupDocs.Search for Java** لإنشاء فهرس قابل للبحث، إعادة تسمية الملفات، والحفاظ على تزامن الفهرس تلقائيًا. + +## إجابات سريعة +- **ماذا يعني “clean directory java”؟** حذف جميع الملفات/المجلدات داخل دليل الهدف باستخدام كود جافا. +- **أي مكتبة تنشئ الفهرس القابل للبحث؟** GroupDocs.Search for Java. +- **كيف أعيد تسمية مستند وأبقي الفهرس محدثًا؟** استخدم `File.renameTo()` ثم أخطر الفهرس بـ `Notification.createRenameNotification`. +- **هل يمكنني نسخ الملفات بعد تنظيف المجلد؟** نعم – يمكن لتدفقات جافا نسخ الملفات مع الحفاظ على الفهرس. +- **هل يلزم وجود ترخيص للاستخدام في الإنتاج؟** يلزم وجود ترخيص صالح لـ GroupDocs.Search للاستخدام التجاري. + +## ما هو “clean directory java”؟ +تنظيف دليل في جافا يعني إزالة كل ملف ومجلد فرعي داخل مجلد محدد برمجيًا. غالبًا ما يكون هذا خطوة تمهيدية قبل نسخ ملفات جديدة أو إعادة بناء الفهرس، لضمان عدم تدخل البيانات القديمة في نتائج البحث. + +## لماذا نُ automate فهرسة المستندات وإعادة تسميتها؟ +- **أتمتة إدارة المستندات** تقلل الجهد اليدوي وتُزيل الأخطاء البشرية. +- خطوة **إنشاء فهرس قابل للبحث** تتيح لك العثور فورًا على أي مستند حسب المحتوى. +- إعادة تسمية الملفات دون تحديث الفهرس سيؤدي إلى فقدان دقة البحث؛ الأتمتة تحافظ على التناسق. + +## المتطلبات المسبقة + +- **GroupDocs.Search for Java** (الإصدار 25.4 أو أحدث) +- JDK 8 + وبيئة تطوير مثل IntelliJ IDEA أو Eclipse +- معرفة أساسية بجافا، خاصةً إدخال/إخراج الملفات + +## إعداد GroupDocs.Search for Java + +### تبعية Maven +أضف المستودع والتبعية إلى ملف `pom.xml` الخاص بك: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### التحميل المباشر +بدلاً من ذلك، قم بتحميل أحدث نسخة من [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### الترخيص +احصل على نسخة تجريبية مجانية، أو ترخيص تقييم مؤقت، أو اشترِ ترخيصًا كاملًا للاستخدام في الإنتاج. + +### التهيئة الأساسية +أنشئ كائن `Index` سيحمل البيانات القابلة للبحث: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## دليل التنفيذ + +### 1. إضافة المستندات إلى الفهرس (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*شرح*: +- `indexFolder` – المكان الذي تُخزن فيه ملفات الفهرس. +- `documentFolder` – المجلد المصدر الذي يحتوي على الملفات التي تريد جعلها قابلة للبحث. + +### 2. إعادة تسمية مستند وإخطار الفهرس + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*شرح*: +- `File.renameTo()` في جافا يقوم بعملية إعادة التسمية الفعلية. +- `Notification.createRenameNotification()` يخبر GroupDocs.Search أن اسم الملف قد تغير، مما يحافظ على دقة الفهرس. + +## Clean Directory Java – تنظيف الدليل ونسخ الملفات + +الحفاظ على نظافة المجلد قبل عملية نسخ جماعية يمنع وجود ملفات مكررة أو مهجورة. فيما يلي مثالان قابلان لإعادة الاستخدام. + +### الخطوة 1: حذف محتويات المجلد (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*شرح*: +- `Files.walk()` يتجول عبر كل ملف ومجلد فرعي. +- الترتيب العكسي يضمن حذف الملفات قبل المجلدات الأم، مما يحقق **delete folder contents** بفعالية. + +### الخطوة 2: نسخ الملفات (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*شرح*: +- تدفق البيانات يفلتر فقط الملفات العادية، ثم ينسخ كل منها إلى المجلد الهدف، مع استبدال الملفات الموجودة إذا لزم الأمر. + +## تطبيقات عملية + +- **إدارة المستندات المؤسسية** – أتمتة الفهرسة لآلاف العقود والحفاظ على توافق أسماء الملفات. +- **المكاتب القانونية** – إعادة تسمية ملفات القضايا بسرعة مع الحفاظ على المحتوى القابل للبحث. +- **أنظمة إدارة المحتوى** – استخدم نمط تنظيف الدليل لتحديث مجلدات الوسائط دون الحاجة إلى تنظيف يدوي. + +## اعتبارات الأداء + +- **حجم الفهرس** – قم بضغط الفهرس دوريًا إذا نما بشكل كبير. +- **استهلاك الذاكرة** – عالج الملفات على دفعات لتجنب `OutOfMemoryError`. +- **التزامن** – للعمليات الضخمة، فكر في استخدام `ExecutorService` في جافا لتوازي عملية التنظيف والنسخ. + +## المشكلات الشائعة والنصائح + +| المشكلة | السبب | الحل | +|-------|-------|-----| +| فشل إعادة التسمية | الملف مقفل أو المسار غير صالح | تأكد من عدم فتح الملف في مكان آخر؛ استخدم `Files.move` لإعادة تسمية أكثر موثوقية. | +| الفهرس لا يتم تحديثه | لم يتم إرسال الإخطار | دائمًا استدعِ `index.notifyIndex(notification)` ثم `index.update()`. | +| نتائج بحث قديمة بعد النسخ | الفهرس لا يزال يشير إلى ملفات قديمة | أعد إضافة المجلد الهدف إلى الفهرس أو استدعِ `index.update()` بعد النسخ. | + +## الأسئلة المتكررة + +**س: هل يمكنني تنظيف دليل يحتوي على مجلدات فرعية؟** +ج: نعم. طريقة `Files.walk()` تحذف جميع الملفات والمجلدات المتداخلة بشكل متكرر. + +**س: هل أحتاج إلى إعادة بناء الفهرس بالكامل بعد كل عملية إعادة تسمية؟** +ج: لا. إرسال إشعار إعادة التسمية واستدعاء `index.update()` يكفي. + +**س: ما هو الحد الأقصى لحجم المجلد الذي يمكنني تنظيفه قبل أن أواجه حدود الأداء؟** +ج: يعتمد على ذاكرة JVM؛ معالجة البيانات على دفعات أصغر أو استخدام التدفقات يساعد في إدارة مجموعات البيانات الكبيرة. + +**س: هل GroupDocs.Search مجاني للتطوير؟** +ج: تتوفر نسخة تجريبية مجانية، لكن الترخيص المدفوع مطلوب للاستخدام في الإنتاج. + +**س: هل يمكنني استخدام هذا النهج مع أنواع ملفات أخرى (مثل PDF، DOCX)؟** +ج: بالتأكيد. يدعم GroupDocs.Search العديد من الصيغ؛ ما عليك سوى إضافة المجلد الذي يحتوي على تلك الملفات إلى الفهرس. + +## الخلاصة + +أصبح لديك الآن حل كامل وجاهز للإنتاج لـ **clean directory java**، إضافة المستندات إلى فهرس قابل للبحث، إعادة تسمية الملفات، والحفاظ على تزامن كل شيء مع GroupDocs.Search. طبّق هذه الأنماط لأتمتة سير عمل إدارة المستندات واستمتع بتجربة بحث أسرع وأكثر موثوقية. + +--- + +**آخر تحديث:** 2025-12-29 +**تم الاختبار مع:** GroupDocs.Search 25.4 +**المؤلف:** GroupDocs + +--- \ No newline at end of file diff --git a/content/arabic/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/arabic/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..92ff4988 --- /dev/null +++ b/content/arabic/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: تعلم كيفية إدارة كلمات مرور المستندات في Java باستخدام GroupDocs.Search، + وإنشاء فهارس قابلة للبحث، والبحث بكفاءة عبر مستندات متعددة. +keywords: +- manage document passwords java +- search across multiple documents +title: إدارة كلمات مرور المستندات Java باستخدام GroupDocs.Search +type: docs +url: /ar/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# إدارة كلمات مرور المستندات Java باستخدام GroupDocs.Search + +في تطبيقات المؤسسات الحديثة، **إدارة كلمات مرور المستندات Java** خطوة حاسمة للحفاظ على سلامة الملفات الحساسة مع السماح بالبحث السريع والموثوق. في هذا الدليل سنوضح لك كيفية إنشاء وإدارة الفهارس باستخدام GroupDocs.Search، وتخزين كلمات المرور بأمان في قاموس الفهرس، ثم **البحث عبر مستندات متعددة** بسهولة. سواء كنت تبني نظام إدارة مستندات أو تضيف بحثًا إلى تطبيق Java موجود، فإن الخطوات أدناه ستجعلك تبدأ بسرعة. + +## إجابات سريعة +- **ماذا يعني “إدارة كلمات مرور المستندات Java”؟** يشير إلى تخزين واسترجاع كلمات المرور للملفات المحمية مباشرة في فهرس البحث. +- **هل يمكنني فهرسة ملفات محمية بكلمة مرور؟** نعم—أضف كلمات المرور إلى قاموس الفهرس قبل الفهرسة. +- **كم عدد المستندات التي يمكنني البحث فيها في آن واحد؟** يمكن لـ GroupDocs.Search **البحث عبر مستندات متعددة** في استعلام واحد. +- **هل أحتاج إلى ترخيص للاستخدام في الإنتاج؟** الترخيص مطلوب للاستخدام في بيئة الإنتاج؛ يتوفر نسخة تجريبية مجانية للتقييم. +- **ما نسخة Java المطلوبة؟** JDK 8 أو أعلى. + +## ما هو “إدارة كلمات مرور المستندات Java”؟ +يتيح تخزين كلمات مرور المستندات داخل فهرس البحث للمحرك فتح الملفات المحمية تلقائيًا أثناء الفهرسة والبحث، مما يلغي الحاجة إلى إدخال كلمة المرور يدويًا في كل مرة. + +## لماذا نستخدم GroupDocs.Search لهذا الغرض؟ +- **قاموس كلمات مرور مدمج** – يحتفظ بكلمات المرور المرتبطة بمسارات الملفات. +- **فهرسة عالية الأداء** – يتعامل مع آلاف الملفات بسرعة. +- **لغة استعلام غنية** – تدعم عمليات بحث معقدة عبر أنواع متعددة من المستندات. + +## المتطلبات المسبقة +- **JDK 8+** مثبت. +- **Maven** لإدارة الاعتمادات. +- معرفة أساسية بـ Java (معالجة الملفات، الفئات). + +## إعداد GroupDocs.Search لـ Java + +أضف المستودع والاعتماد إلى ملف `pom.xml` الخاص بك: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +يمكنك أيضًا تنزيل المكتبة مباشرة من صفحة الإصدارات الرسمية: [إصدارات GroupDocs.Search للـ Java](https://releases.groupdocs.com/search/java/). + +### تهيئة الفهرس + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## كيف تدير كلمات مرور المستندات Java؟ + +### 1. تعريف مجلد الفهرس وإنشاء الفهرس +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. مسح كلمات المرور الموجودة (إن وجدت) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. إضافة كلمة مرور لمستند محدد +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. استرجاع وإزالة كلمة مرور +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. إضافة كلمات مرور لعدة مستندات +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## كيف تفهرس المستندات مع كلمات مرور؟ +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## كيف تبحث عبر مستندات متعددة؟ +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## تطبيقات عملية +- **إدارة مستندات المؤسسات** – أرشيفات آمنة وقابلة للبحث. +- **منصات إدارة المحتوى** – استرجاع سريع للأصول المحمية. +- **مستودعات المستندات القانونية** – الحفاظ على السرية مع تمكين البحث النصي الكامل. + +## اعتبارات الأداء +- **الفهرسة المتوازية** – استخدم عدة خيوط للدفعات الكبيرة. +- **مراقبة الذاكرة** – راقب مساحة heap في JVM أثناء الاستيراد الضخم. +- **صيانة الفهرس الدورية** – أعد الفهرسة عندما تتغير الملفات أو تُحدَّث كلمات المرور. + +## الخلاصة +أنت الآن تعرف كيف **تدير كلمات مرور المستندات Java** باستخدام GroupDocs.Search، وتُنشئ فهارس قوية، وتنفّذ **بحثًا عبر مستندات متعددة** بفعالية. من خلال دمج هذه الخطوات في تطبيقك، ستوفر تجارب بحث آمنة وسريعة وقابلة للتوسع. + +**الخطوات التالية** +- جرّب عوامل الاستعلام المتقدمة (wildcards، البحث الضبابي). +- استكشف الفهرسة المتزايدة للتحديثات في الوقت الحقيقي. +- اجمعها مع منتجات GroupDocs الأخرى للتحويل إلى PDF أو التعليقات التوضيحية. + +## الأسئلة المتكررة + +**س: هل يمكنني فهرسة حجم كبير من المستندات؟** +ج: نعم، تم تصميم GroupDocs.Search للتعامل مع مجموعات واسعة بكفاءة. + +**س: هل يمكن تحديث فهرس موجود بإضافة مستندات جديدة؟** +ج: بالتأكيد! يمكنك إضافة أو إزالة مستندات من فهرسك حسب الحاجة. + +**س: كيف أضمن أمان البيانات المفهرسة؟** +ج: استخدم قاموس كلمة مرور المستندات واحفظ الفهرس في دليل محمي. + +**س: هل يستطيع GroupDocs.Search معالجة صيغ ملفات مختلفة؟** +ج: نعم، يدعم ملفات PDF، Word، Excel، والعديد من الصيغ الشائعة الأخرى. + +**س: ماذا أفعل إذا واجهت مشاكل أداء أثناء الفهرسة؟** +ج: فكر في تمكين المعالجة المتوازية، زيادة حجم heap، أو ضبط إعدادات الفهرس. + +--- + +**آخر تحديث:** 2025-12-29 +**تم الاختبار مع:** GroupDocs.Search 25.4 للـ Java +**المؤلف:** GroupDocs + +**الموارد** +- [التوثيق](https://docs.groupdocs.com/search/java/) +- [مرجع API](https://reference.groupdocs.com/search/java) +- [تحميل GroupDocs.Search للـ Java](https://releases.groupdocs.com/search/java/) +- [مستودع GitHub](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/arabic/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/arabic/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..ce224863 --- /dev/null +++ b/content/arabic/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,248 @@ +--- +date: '2025-12-29' +description: تعلم كيفية فهرسة مستندات جافا وإنشاء فهرس بحث باستخدام GroupDocs.Search + للغة جافا. يغطي هذا الدليل الإعداد، الفهرسة، البحث، وإدارة المستندات بكفاءة. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: كيفية فهرسة مستندات جافا باستخدام GroupDocs.Search – بحث فعال +type: docs +url: /ar/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# كيفية فهرسة مستندات Java باستخدام GroupDocs.Search – بحث فعال + +## المقدمة + +هل تشعر بالإرهاق بسبب الكم الهائل من المستندات وتتساءل **how to index java** عن كيفية فهرسة ملفات Java بسرعة؟ تواجه العديد من الشركات والأفراد هذا التحدي يوميًا. **GroupDocs.Search for Java** يقدم حلاً فعالًا لتبسيط عمليات البحث في المستندات، مما يجعل العملية أسرع وأسهل في الإدارة. + +في هذا البرنامج التعليمي، سنرشدك إلى كيفية استخدام GroupDocs.Search for Java لإنشاء مستودع مفهرس لمستنداتك. ستتعلم كيفية تحميل المستندات من نظام الملفات، إجراء عمليات البحث، إدارة الحذف، واسترجاع البيانات المفهرسة بكفاءة وقابلية توسع. + +**ما ستتعلمه:** +- إعداد وتكوين GroupDocs.Search for Java. +- **Creating a search index** وفهرسة المستندات من التدفقات. +- تحميل المستندات من نظام الملفات. +- **Performing keyword search** على الفهرس الخاص بك. +- **How to delete index** إدخالات المستندات المحددة. +- استرجاع المستندات المفهرسة بعد عمليات الحذف. + +هل أنت مستعد لإحداث ثورة في طريقة إدارة عمليات البحث عن المستندات؟ لنبدأ بالمتطلبات الأساسية! + +## الإجابات السريعة +- **What is the primary purpose?** فهرسة والبحث عن مستندات Java بكفاءة. +- **Which library is required?** GroupDocs.Search for Java (v25.4+). +- **Do I need a license?** تتوفر نسخة تجريبية مجانية أو ترخيص مؤقت؛ يلزم الحصول على ترخيص دائم للإنتاج. +- **Can I delete documents from the index?** نعم، باستخدام طريقة `delete` مع مفاتيح المستند. +- **Is Apache Commons IO mandatory?** يوصى به لأدوات التعامل مع الملفات. + +## ما هو “how to index java”؟ +فهرسة مستندات Java تعني إنشاء بنية بيانات قابلة للبحث (فهرس) تربط محتوى المستند بالمصطلحات القابلة للبحث، مما يسمح باسترجاع سريع للملفات ذات الصلة بناءً على استعلامات الكلمات المفتاحية. + +## لماذا نستخدم GroupDocs.Search for Java؟ +- **Speed:** خوارزميات محسّنة تقدم نتائج استعلام سريعة حتى على مجموعات كبيرة. +- **Scalability:** يتعامل مع آلاف المستندات دون التضحية بالأداء. +- **Flexibility:** يدعم تنسيقات ملفات متعددة ويوفر التحميل المتأخر للملفات الكبيرة. +- **Ease of Integration:** إعداد Maven بسيط وواجهة برمجة تطبيقات واضحة. + +## المتطلبات الأساسية + +قبل أن نبدأ، تأكد من توفر التالي: + +### المكتبات والاعتمادات المطلوبة +- **GroupDocs.Search for Java**: تأكد من تثبيت الإصدار 25.4 أو أحدث. +- **Apache Commons IO**: مطلوب لأدوات التعامل مع الملفات. + +### متطلبات إعداد البيئة +- Java Development Kit (JDK) 8 أو أعلى. +- Integrated Development Environment (IDE) مثل IntelliJ IDEA أو Eclipse. + +### متطلبات المعرفة +- فهم أساسي لبرمجة Java ومفاهيم البرمجة الكائنية. +- الإلمام بـ Maven لإدارة التبعيات مفيد لكنه ليس إلزاميًا. + +## إعداد GroupDocs.Search for Java + +إعداد بيئة مشروعك باستخدام GroupDocs.Search يتضمن الخطوات التالية باستخدام Maven: + +**Maven Configuration:** +أضف المستودع والاعتماد التاليين إلى ملف `pom.xml` الخاص بك: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Direct Download:** +بدلاً من ذلك، قم بتنزيل أحدث نسخة مباشرةً من [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### خطوات الحصول على الترخيص +- **Free Trial:** ابدأ بنسخة تجريبية مجانية لاختبار قدراتها. +- **Temporary License:** قدّم طلبًا للحصول على ترخيص مؤقت لاستكشاف جميع الميزات دون قيود. +- **Purchase:** فكر في الشراء إذا كان يلبي احتياجاتك. + +**Basic Initialization and Setup:** +بمجرد أن تكون بيئتك جاهزة، قم بتهيئة GroupDocs.Search كما يلي: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## كيفية فهرسة مستندات Java باستخدام GroupDocs.Search + +### إنشاء وفهرسة المستندات + +**Overview:** تعلم كيفية إنشاء فهرس في مجلد محدد وإضافة مستندات من التدفقات، مما يبسط عملية **create search index**. + +#### Step 1: Create an Index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameters:** المعامل الأول هو مسار الدليل لتخزين الفهارس. المعامل الثنائي الثاني يتيح التحديث التلقائي للفهرس إذا كان موجودًا. + +#### Step 2: Load and Add Documents from Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explanation:** هنا، تقوم بإنشاء `DocumentLoader` لقراءة الملف وتحضيره للفهرسة. تُستخدم طريقة `createLazy` للتعامل مع الملفات الكبيرة بكفاءة. + +### تحميل المستندات من نظام الملفات + +**Overview:** تنفيذ محمل مخصص يقرأ المستندات مباشرةً من نظام الملفات الخاص بك باستخدام أدوات Apache Commons IO. + +#### Step 1: Define Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Details:** هذه الفئة تقرأ الملف إلى مصفوفة بايت وتُنشئ كائن `Document` منه. + +### تنفيذ بحث بالكلمة المفتاحية في الفهرس + +**Overview:** تنفيذ عمليات البحث على المستندات المفهرسة لاسترجاع المعلومات ذات الصلة بسرعة. + +#### Step 1: Execute Search +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explanation:** استخدم طريقة `search` مع استعلام نصي بسيط للحصول على النتائج من بياناتك المفهرسة. هذا النهج فعال لسيناريوهات **java document search**. + +### كيفية حذف إدخالات الفهرس + +**Overview:** إدارة فهرسك عن طريق حذف مستندات محددة باستخدام مفاتيحها. + +#### Step 1: Delete Document +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameters:** مرّر مصفوفة مفاتيح المستندات التي ترغب في إزالتها من الفهرس. تسمح `UpdateOptions` باستراتيجيات حذف مرنة. + +### استرجاع المستندات المفهرسة بعد الحذف + +**Overview:** بعد حذف المستندات، استرجع قائمة بالملفات المفهرسة المتبقية لضمان سلامة البيانات. + +#### Step 1: Get Remaining Documents +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explanation:** تساعد هذه الخطوة في التحقق من الحالة الحالية لفهرسك بعد أي حذف. + +## التطبيقات العملية + +GroupDocs.Search for Java متعدد الاستخدامات، ويقدم العديد من حالات الاستخدام مثل: + +1. **Enterprise Document Management:** البحث السريع عبر مستندات الشركة لتعزيز الإنتاجية. +2. **Legal Document Analysis:** فرز فعال لملفات القضايا والنصوص القانونية للعثور على السوابق ذات الصلة. +3. **Library Cataloging Systems:** فهرسة وإدارة مجموعات كبيرة من الكتب والمخطوطات لتسهيل الوصول. + +## اعتبارات الأداء + +لتحقيق الأداء الأمثل: + +- **Index Optimization:** قم بتحديث فهرسك بانتظام لتعكس التغييرات الأخيرة في المستندات. +- **Memory Management:** استخدم جمع القمامة في Java بفعالية من خلال إدارة العمليات التي تستهلك موارد كثيرة. +- **Scalability:** تأكد من أن استراتيجية الفهرسة الخاصة بك يمكنها التعامل مع أحجام بيانات كبيرة دون تدهور الأداء. + +## المشكلات الشائعة والحلول + +| المشكلة | السبب | الحل | +|-------|-------|----------| +| **لا توجد نتائج** | مصطلحات الاستعلام غير مفهرسة أو تم تصفية كلمات التوقف | تحقق من `IndexingOptions` وقم بتعديل قائمة كلمات التوقف | +| **أخطاء نفاد الذاكرة** | تحميل ملفات كبيرة جدًا دون استخدام التحميل المتأخر | استخدم `Document.createLazy` أو زد حجم ذاكرة JVM | +| **المستندات المحذوفة لا تزال تظهر** | الفهرس لم يتم تحديثه بعد الحذف | استدعِ `index.optimize()` أو أعد فتح الفهرس | + +## الأسئلة المتكررة + +**س: هل يمكنني فهرسة ملفات PDF، DOCX، وPPTX معًا؟** +ج: نعم، يدعم GroupDocs.Search مجموعة واسعة من الصيغ مباشرةً. + +**س: كيف يعمل “how to delete index” داخليًا؟** +ج: طريقة `delete` تزيل الإدخالات بناءً على مفاتيح المستند وتحدّث قوائم النشر الداخلية للحفاظ على تناسق الفهرس. + +**س: هل هناك طريقة لمراقبة حجم الفهرس؟** +ج: استخدم `index.getStatistics()` للحصول على معلومات حول عدد المستندات وحجم التخزين. + +**س: هل أحتاج إلى إعادة بناء الفهرس بالكامل بعد كل حذف؟** +ج: لا، عملية `delete` تُحدّث الفهرس بشكل تدريجي، مع الحفاظ على البيانات الحالية. + +**س: ماذا لو احتجت إلى إعادة فهرسة جميع المستندات بعد تغيير المخطط؟** +ج: أنشئ مثيلًا جديدًا من `Index` بمسار مجلد مختلف وأعد إضافة جميع المستندات. + +## الخلاصة + +بحلول الآن، يجب أن تكون قد اكتسبت فهمًا قويًا لـ **how to index java** المستندات وإجراء عمليات بحث سريعة باستخدام GroupDocs.Search for Java. يمكن لهذه المكتبة القوية أن تحول طريقة إدارة واسترجاع المعلومات من مجموعات المستندات الكبيرة، مما يجعلها أداة لا تقدر بثمن لأي مؤسسة. + +**الخطوات التالية:** +- جرب أنواع مستندات مختلفة واستعلامات معقدة. +- استكشف الميزات المتقدمة مثل البحث الموجه، فهرسة البيانات الوصفية، والمحللات المخصصة. + +هل أنت مستعد لبدء رحلتك في الفهرسة؟ نفّذ هذه التقنيات اليوم واختبر استرجاع مستندات أسرع وأكثر دقة! + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search Java 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/arabic/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/arabic/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..ea36d7d3 --- /dev/null +++ b/content/arabic/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: تعرّف على كيفية تحسين أداء البحث باستخدام ميزات الفهرسة المتقدمة في GroupDocs.Search + للغة Java، بما في ذلك الإلغاء، والعمليات غير المتزامنة، وتعدد الخيوط، وتخصيص البيانات + الوصفية. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: تحسين أداء البحث باستخدام تقنيات الفهرسة المتقدمة في GroupDocs.Search للغة + Java +type: docs +url: /ar/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# تحسين أداء البحث باستخدام تقنيات الفهرسة المتقدمة في GroupDocs.Search للغة Java + +في بيئة رقمية سريعة الوتيرة اليوم، **تحسين أداء البحث** أمر أساسي لتقديم نتائج فورية للمستخدمين. سواء كنت تبني محرك بحث مخصصًا أو تعزز نظام إدارة مستندات موجود، فإن استراتيجية الفهرسة الصحيحة يمكن أن تقلل بشكل كبير من زمن الاستجابة واستهلاك الموارد. في هذا البرنامج التعليمي سنستعرض أقوى ميزات GroupDocs.Search للغة Java — الإلغاء، الفهرسة غير المتزامنة، المعالجة المتعددة الخيوط، وتخصيص الفهرسة الوصفية — حتى تتمكن من **إضافة فهرس المستندات** بسرعة وكفاءة أكبر. + +**ما ستتعلمه** + +- كيفية إلغاء عملية الفهرسة بعد مدة محددة +- تنفيذ عمليات الفهرسة غير المتزامنة ومعالجة تغيّر الحالة +- تكوين المعالجة المتعددة الخيوط لفهرسة أسرع +- تخصيص خيارات فهرسة البيانات الوصفية + +لنتأكد من أن لديك كل ما تحتاجه قبل الغوص في الشيفرة. + +## المتطلبات المسبقة + +- **مكتبة GroupDocs.Search** – الإصدار 25.4 أو أحدث. +- **بيئة تطوير Java** – يُنصح باستخدام JDK 8 أو أعلى. +- إلمام أساسي بـ Java ومفهوم الفهرسة. + +### إعداد GroupDocs.Search للغة Java + +#### تثبيت عبر Maven + +أضف المستودع والاعتماد إلى ملف `pom.xml` الخاص بك: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### التحميل المباشر + +بدلاً من ذلك، حمّل أحدث ملف JAR من [إصدارات GroupDocs.Search للغة Java](https://releases.groupdocs.com/search/java/). + +**الحصول على الترخيص** – ابدأ بنسخة تجريبية مجانية أو اطلب ترخيصًا مؤقتًا لفتح مجموعة الميزات الكاملة. + +### التهيئة الأساسية والإعداد + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## إجابات سريعة +- **ماذا يفعل الإلغاء؟** يوقف الفهرسة بعد وقت محدد لتوفير الموارد. +- **هل يمكنني فهرسة المستندات بشكل غير متزامن؟** نعم – اضبط `options.setAsync(true)`. +- **كم عدد الخيوط التي يمكنني استخدامها؟** أي عدد صحيح موجب؛ القيم النموذجية هي 2‑4 لمعظم الخوادم. +- **هل فهرسة البيانات الوصفية اختيارية؟** بالتأكيد – يمكنك تمكينها أو ضبطها حسب كل حقل. +- **هل أحتاج إلى ترخيص لهذه الميزات؟** النسخة التجريبية تكفي للاختبار؛ الترخيص الكامل مطلوب للإنتاج. + +## ما معنى “تحسين أداء البحث” في هذا السياق؟ + +تحسين أداء البحث يعني تكوين عملية الفهرسة بحيث تستهلك الكمية المناسبة من وحدة المعالجة المركزية والذاكرة والوقت مع تقديم أكثر النتائج صلةً على الفور. من خلال التحكم في الإلغاء، التنفيذ غير المتزامن، المعالجة المتعددة الخيوط، ومعالجة البيانات الوصفية، تؤثر مباشرةً على سرعة قدرة المحرك على **إضافة فهرس المستندات** والاستجابة للاستعلامات. + +## لماذا نستخدم ميزات الفهرسة المتقدمة؟ + +- **تقليل زمن الاستجابة** – الفهرسة غير المتزامنة والمتعددة الخيوط تحافظ على استجابة تطبيقك. +- **إدارة موارد أفضل** – الإلغاء يمنع العمليات التي تستهلك الموارد بشكل مفرط. +- **تحسين صلة البحث** – خيارات البيانات الوصفية تتيح لك إبراز أهم المعلومات. + +## دليل التنفيذ + +### خاصية الإلغاء + +**نظرة عامة** – إلغاء الفهرسة بعد مدة محددة لتجنب استهلاك مفرط للموارد. + +#### الخطوة 1: إعداد البيئة + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### الخطوة 2: إنشاء خيارات الفهرسة مع الإلغاء + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**نقاط رئيسية** + +- `setCancellation()` يفعّل الميزة. +- `cancelAfter(int milliseconds)` يحدد مهلة الإلغاء (3 ثوانٍ في هذا المثال). + +### خاصية الفهرسة غير المتزامنة + +**نظرة عامة** – تشغيل الفهرسة في خيط خلفي والاستماع لتغيّر الحالة. + +#### الخطوة 1: إعداد البيئة + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### الخطوة 2: الاشتراك في حدث تغيّر الحالة + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### الخطوة 3: تكوين خيارات الفهرسة غير المتزامنة + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### خاصية الخيوط + +**نظرة عامة** – تسريع الفهرسة عبر الاستفادة من عدة نوى للمعالج. + +#### الخطوة 1: إعداد البيئة + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### الخطوة 2: تكوين المعالجة المتعددة الخيوط + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### خاصية خيارات فهرسة البيانات الوصفية + +**نظرة عامة** – ضبط أي من بيانات المستند الوصفية تُفهرس وكيفية تخزينها. + +#### الخطوة 1: إعداد البيئة + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### الخطوة 2: تكوين خيارات البيانات الوصفية + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## تطبيقات عملية + +1. **أنظمة إدارة المستندات** – استخدم الفهرسة غير المتزامنة للحفاظ على استجابة واجهة المستخدم أثناء معالجة دفعات كبيرة في الخلفية. +2. **محركات البحث المحتوى** – طبّق الإلغاء لمنع الوظائف طويلة الأمد من استهلاك موارد الخادم خلال فترات الذروة. +3. **خطوط أنابيب الإدخال على نطاق واسع** – استفد من المعالجة المتعددة الخيوط لـ **إضافة فهرس المستندات** على نطاق واسع، مما يقلل وقت المعالجة بشكل كبير. + +## اعتبارات الأداء + +- **إدارة الخيوط** – راقب استهلاك وحدة المعالجة؛ عدد كبير جدًا من الخيوط قد يسبب عبءً إضافيًا بسبب تبديل السياق. +- **بصمة الذاكرة** – حدود البيانات الوصفية (مثل `setMaxBytesToIndexField`) تساعد في الحفاظ على استهلاك الذاكرة بشكل متوقع. +- **جمع القمامة** – استخدم إعدادات JVM المناسبة (`-Xmx`, `-XX:+UseG1GC`) عند فهرسة مجموعات ضخمة من النصوص. + +## المشكلات الشائعة والحلول + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| الفهرسة لا تنتهي أبدًا | تم ضبط الإلغاء بقيمة منخفضة جدًا | زد قيمة `cancelAfter` أو أزل الإلغاء للوظائف الطويلة | +| لا توجد تحديثات حالة في الوضع غير المتزامن | لم يتم ربط معالج الحدث بشكل صحيح | تأكد من استدعاء `index.getEvents().StatusChanged.add(...)` قبل `index.add` | +| أخطاء نفاد الذاكرة | عدد كبير من الخيوط أو حدود بيانات وصفية مرتفعة | قلل `options.setThreads` وخفض حدود حقول البيانات الوصفية | +| فقدان البيانات الوصفية في النتائج | تم تعطيل فهرسة البيانات الوصفية | تحقق من تكوين `options.getMetadataIndexingOptions()` وعدم تعيينه لتجاهل الحقول | + +## الأسئلة المتكررة + +**س: كيف أحصل على ترخيص مؤقت لـ GroupDocs.Search؟** +ج: زر [صفحة الترخيص المؤقت لـ GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**س: هل يمكنني إلغاء عملية الفهرسة في منتصفها؟** +ج: نعم – استخدم خاصية الإلغاء مع `cancelAfter()` أو استدعِ `Cancellation.cancel()` برمجيًا. + +**س: ما هي بعض حالات الاستخدام للفهرسة غير المتزامنة؟** +ج: الاسترجاع الفوري للمستندات، معالجة الدُفعات في الخلفية، وتطبيقات ذات واجهة مستخدم سريعة الاستجابة تستفيد من الفهرسة غير المتزامنة. + +**س: هل من الآمن زيادة عدد الخيوط على خادم مشترك؟** +ج: زد العدد تدريجيًا وراقب حمل المعالج؛ في البيئات المشتركة بشكل كبير، حافظ على عدد الخيوط معتدلًا (2‑4). + +**س: كيف تؤثر فهرسة البيانات الوصفية على صلة البحث؟** +ج: البيانات الوصفية المفهرسة بشكل صحيح (مثل المؤلف، تاريخ الإنشاء، العلامات) يمكن أن تُعطى وزنًا أعلى في الاستعلامات، مما يحسن دقة النتائج. + +## الخلاصة + +من خلال تبني هذه الميزات المتقدمة في GroupDocs.Search للغة Java، ستتمكن من **تحسين أداء البحث** عبر مجموعة متنوعة من السيناريوهات — من إدخال المستندات بسرعة إلى التحكم الدقيق في البيانات الوصفية. جرّب تكوينات مختلفة، راقب استخدام الموارد، واضبط الإعدادات وفقًا لحجم عملك للحصول على أفضل النتائج. + +--- + +**آخر تحديث:** 2025-12-29 +**تم الاختبار مع:** GroupDocs.Search 25.4 للغة Java +**المؤلف:** GroupDocs + +--- \ No newline at end of file diff --git a/content/chinese/java/getting-started/_index.md b/content/chinese/java/getting-started/_index.md new file mode 100644 index 00000000..19edb8c6 --- /dev/null +++ b/content/chinese/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: 针对 Java 开发者的 GroupDocs.Search 配置分步指南,涵盖安装、授权以及创建您的第一个搜索解决方案。 +title: 如何配置 GroupDocs.Search - Java 入门教程 +type: docs +url: /zh/java/getting-started/ +weight: 1 +--- + +# 如何配置 GroupDocs.Search - Java 入门教程 + +欢迎阅读关于 **如何配置 GroupDocs.Search** 的终极指南,适用于 Java 应用程序。在本教程中,您将学习安装库、设置授权以及构建首个可搜索文档解决方案的关键步骤。无论是启动新项目还是将搜索功能集成到现有代码库,此指南都能帮助您快速上手。 + +## 快速答案 +- **第一步是什么?** 通过 Maven 或 Gradle 安装 GroupDocs.Search Java 包。 +- **我需要许可证吗?** 是的——临时许可证可用于开发;生产环境需要正式许可证。 +- **哪个 IDE 最合适?** 任何支持 Maven/Gradle 项目的 Java IDE(IntelliJ IDEA、Eclipse、VS Code)。 +- **我可以索引 PDF 和 Word 文件吗?** 当然——GroupDocs.Search 开箱即支持多种文档格式。 +- **设置需要多长时间?** 对于新项目通常在 15 分钟以内。 + +## 什么是 “如何配置 GroupDocs.Search”? +配置 GroupDocs.Search 意味着准备库以索引文档、定义存储位置,并应用许可证密钥,使 API 能在无限制的情况下运行。正确的配置可确保快速、准确的搜索结果,并实现与您的 Java 代码的平滑集成。 + +## 为什么为 Java 配置 GroupDocs.Search? +- **快速实现** – 只需少量代码即可开始索引和搜索。 +- **可扩展索引** – 处理大规模文档集合而不降低性能。 +- **广泛的格式支持** – 支持 PDF、DOCX、XLSX、PPTX 等多种文件类型。 +- **安全授权** – 确保合规并解锁所有高级功能。 + +## 前置条件 +- Java Development Kit(JDK)8 或更高版本。 +- 用于依赖管理的 Maven 3 或 Gradle 5。 +- 获取临时或正式的 GroupDocs.Search 许可证密钥。 + +## 步骤指南 + +### 步骤 1:将 GroupDocs.Search 添加到项目中 +在 `pom.xml`(Maven)或 `build.gradle`(Gradle)中加入 GroupDocs.Search 依赖。这将使库在代码中可用。 + +### 步骤 2:应用许可证 +创建 `License` 对象并加载临时或永久许可证文件。此步骤解锁全部功能并移除评估限制。 + +### 步骤 3:初始化索引设置 +定义索引文件在磁盘上的存储位置,并配置所需的自定义索引选项(例如大小写敏感、停用词等)。 + +### 步骤 4:索引文档 +使用 `Indexer` 类将文件或文件夹添加到索引中。GroupDocs.Search 会自动检测文件类型并提取可搜索的文本。 + +### 步骤 5:执行搜索查询 +创建 `SearchOptions` 对象,指定查询字符串,然后执行搜索。API 将返回匹配文档列表及相关性得分。 + +### 步骤 6:查看结果 +遍历搜索结果,显示文件名,并可在 UI 中高亮显示匹配的词语。 + +## 常见问题及解决方案 +- **许可证未被识别** – 验证许可证文件路径,并确保其与所使用的 GroupDocs.Search 版本匹配。 +- **缺少文档格式** – 如需支持不常见的文件类型,请安装可选的 `groupdocs-conversion` 插件。 +- **性能瓶颈** – 使用增量索引并将索引文件夹配置在 SSD 存储上,以获得更快的访问速度。 + +## 常见问答 + +**Q: 我可以在 Linux 服务器上使用 GroupDocs.Search 吗?** +A: 可以,库是平台无关的,能够在任何支持 Java 的操作系统上运行。 + +**Q: 添加新文件后如何更新索引?** +A: 再次调用 `Indexer` 并传入新文件;库会将它们合并到现有索引中。 + +**Q: 是否可以将搜索结果限制在特定文件夹?** +A: 可以,在执行查询前将 `SearchOptions` 设置为包含文件夹过滤器。 + +**Q: 超过临时许可证期限会怎样?** +A: API 将以评估模式继续工作,但功能受限;请用正式许可证文件替换以恢复全部功能。 + +**Q: GroupDocs.Search 支持模糊搜索吗?** +A: 完全支持——在 `SearchOptions` 中启用模糊匹配即可检索到拼写略有差异的结果。 + +## 其他资源 + +### 可用教程 + +### [部署 GroupDocs.Search for Java: 综合设置指南](./deploy-groupdocs-search-java-setup-guide/) +了解如何使用本分步指南部署并配置 GroupDocs.Search for Java。提升项目中的文档索引和搜索能力。 + +### 有用链接 +- [GroupDocs.Search for Java 文档](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API 参考](https://reference.groupdocs.com/search/java/) +- [下载 GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search 论坛](https://forum.groupdocs.com/c/search) +- [免费支持](https://forum.groupdocs.com/) +- [临时许可证](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/chinese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/chinese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..c41197e4 --- /dev/null +++ b/content/chinese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,244 @@ +--- +date: '2025-12-29' +description: 了解如何使用 GroupDocs.Search for Java 清理目录、自动化文档管理以及重命名文件,提升应用程序的效率。 +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: 清理目录 Java – 自动索引与重命名 +type: docs +url: /zh/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – 使用 GroupDocs.Search 自动化文档索引和重命名 + +如果您需要在自动化文档索引和重命名的同时 **clean directory java**,您来对地方了。手动处理文件移动、删除和索引更新容易出错且耗时。在本教程中,我们将展示如何让 Java 完成繁重工作,使用 **GroupDocs.Search for Java** 创建可搜索索引、重命名文件,并自动保持索引同步。 + +## 快速回答 +- **“clean directory java” 是什么意思?** 使用 Java 代码删除目标目录内的所有文件/文件夹。 +- **哪个库创建可搜索索引?** GroupDocs.Search for Java。 +- **如何重命名文档并保持索引更新?** 使用 `File.renameTo()`,随后使用 `Notification.createRenameNotification` 通知索引。 +- **清理文件夹后可以复制文件吗?** 可以 – Java Streams 可以在保留索引的同时复制文件。 +- **生产环境是否需要许可证?** 商业使用需要有效的 GroupDocs.Search 许可证。 + +## 什么是 “clean directory java”? +在 Java 中清理目录指的是以编程方式删除指定文件夹内的所有文件和子文件夹。这通常是复制新文件或重建索引之前的前置步骤,确保陈旧数据不会影响搜索结果。 + +## 为什么要自动化文档索引和重命名? +- **文档管理自动化** 减少人工工作并消除人为错误。 +- **创建可搜索索引** 步骤让您能够通过内容即时定位任何文档。 +- 如果在不更新索引的情况下重命名文件,会导致搜索准确性下降;自动化可保持所有内容一致。 + +## 前置条件 + +- **GroupDocs.Search for Java**(版本 25.4 或更高) +- JDK 8 + 以及 IntelliJ IDEA 或 Eclipse 等 IDE +- 基础 Java 知识,尤其是文件 I/O + +## 设置 GroupDocs.Search for Java + +### Maven 依赖 +在 `pom.xml` 中添加仓库和依赖: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### 直接下载 +或者,从 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下载最新版本。 + +### 许可证 +获取免费试用、临时评估许可证,或购买正式许可证用于生产环境。 + +### 基本初始化 +创建一个保存可搜索数据的 `Index` 实例: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## 实现指南 + +### 1. 将文档添加到索引(create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*说明*: +- `indexFolder` – 索引文件的存放位置。 +- `documentFolder` – 包含您希望可搜索的文件的源文件夹。 + +### 2. 重命名文档并通知索引 + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*说明*: +- Java 的 `File.renameTo()` 执行实际的重命名操作。 +- `Notification.createRenameNotification()` 告诉 GroupDocs.Search 文件名已更改,从而保持索引准确。 + +## Clean Directory Java – 目录清理与文件复制 + +在批量复制之前保持文件夹整洁,可防止出现重复或孤立文件。以下提供两个可复用代码片段。 + +### 步骤 1:删除文件夹内容(delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*说明*: +- `Files.walk()` 遍历每个文件和子文件夹。 +- 逆序排序确保在删除父目录之前先删除文件,实现 **delete folder contents**。 + +### 步骤 2:复制文件(copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*说明*: +- 流仅过滤普通文件,然后将每个文件复制到目标目录,必要时覆盖已有文件。 + +## 实际应用 + +- **企业文档管理** – 为数千份合同自动化索引并保持文件名同步。 +- **律师事务所** – 快速重命名案件文件,同时保留可搜索内容。 +- **内容管理系统** – 使用 clean‑directory 模式在无需手动清理的情况下刷新媒体文件夹。 + +## 性能考虑 + +- **索引大小** – 当索引变大时定期压缩。 +- **内存使用** – 分批处理文件以避免 `OutOfMemoryError`。 +- **并发性** – 对于大批量操作,可考虑使用 Java 的 `ExecutorService` 并行执行清理和复制。 + +## 常见问题与技巧 + +| Issue | Cause | Fix | +|-------|-------|-----| +| 重命名失败 | 文件被锁定或路径无效 | 确保文件未在其他地方打开;使用 `Files.move` 进行更可靠的重命名。 | +| 索引未更新 | 未发送通知 | 始终调用 `index.notifyIndex(notification)`,随后调用 `index.update()`。 | +| 复制后搜索结果陈旧 | 索引仍指向旧文件 | 重新将目标文件夹添加到索引,或在复制后调用 `index.update()`。 | + +## 常见问答 + +**Q: 能否清理包含子文件夹的目录?** +A: 可以。`Files.walk()` 方法会递归删除所有嵌套的文件和文件夹。 + +**Q: 每次重命名后需要重新构建整个索引吗?** +A: 不需要。发送重命名通知并调用 `index.update()` 即可。 + +**Q: 在性能限制出现前,我能清理多大的文件夹?** +A: 取决于 JVM 内存;使用更小的批次或流式处理有助于管理大数据集。 + +**Q: GroupDocs.Search 对开发者免费吗?** +A: 提供免费试用,但生产环境需要付费许可证。 + +**Q: 这种方法能否用于其他文件类型(如 PDF、DOCX)?** +A: 完全可以。GroupDocs.Search 支持多种格式,只需将包含这些文件的文件夹加入索引即可。 + +## 结论 + +现在,您已经拥有一个完整、可投入生产的 **clean directory java** 解决方案,能够将文档添加到可搜索索引、重命名文件,并通过 GroupDocs.Search 保持所有内容同步。将这些模式应用于文档管理工作流,实现更快、更可靠的搜索体验。 + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/chinese/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/chinese/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..83756992 --- /dev/null +++ b/content/chinese/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: 了解如何在 Java 中使用 GroupDocs.Search 管理文档密码,创建可搜索的索引,并高效地跨多个文档进行搜索。 +keywords: +- manage document passwords java +- search across multiple documents +title: 使用 GroupDocs.Search 在 Java 中管理文档密码 +type: docs +url: /zh/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# 使用 GroupDocs.Search 管理文档密码(Java) + +在现代企业应用中,**manage document passwords Java** 是确保敏感文件安全且仍能实现快速、可靠搜索的关键步骤。在本指南中,我们将展示如何使用 GroupDocs.Search 创建和管理索引、将密码安全地存储在索引字典中,然后轻松实现**search across multiple documents**。无论您是构建文档管理系统还是为现有 Java 应用添加搜索功能,以下步骤都能帮助您快速上手。 + +## 快速答疑 +- **What does “manage document passwords Java” mean?** 它指的是将受保护文件的密码直接存储在搜索索引中,并在需要时检索。 +- **Can I index password‑protected files?** 是的——在索引之前将密码添加到索引字典中。 +- **How many documents can I search at once?** GroupDocs.Search 可以在单个查询中 **search across multiple documents**。 +- **Do I need a license for production?** 生产环境需要许可证;可使用免费试用版进行评估。 +- **What Java version is required?** JDK 8 或更高版本。 + +## 什么是 “manage document passwords Java”? +将文档密码存储在搜索索引中,使引擎在索引和搜索期间能够自动打开受保护的文件,从而无需每次手动输入密码。 + +## 为什么在此任务中使用 GroupDocs.Search? +- **Built‑in password dictionary** – 将密码与文件路径关联保存。 +- **High‑performance indexing** – 快速处理成千上万的文件。 +- **Rich query language** – 支持跨多种文档类型的复杂搜索。 + +## 前置条件 +- **JDK 8+** 已安装。 +- **Maven** 用于依赖管理。 +- 基本的 Java 知识(文件处理、类)。 + +## 为 Java 设置 GroupDocs.Search + +在 `pom.xml` 中添加仓库和依赖: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +您也可以直接从官方发布页面下载库文件:[GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)。 + +### 初始化索引 + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## 如何管理文档密码(Java)? + +### 1. 定义索引文件夹并创建索引 +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. 清除已有密码(如果有) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. 为特定文档添加密码 +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. 检索并移除密码 +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. 为多个文档添加密码 +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## 如何使用密码索引文档? + +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## 如何跨多个文档进行搜索? + +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## 实际应用 +- **Enterprise Document Management** – 安全且可搜索的档案。 +- **Content Management Platforms** – 快速检索受保护的资产。 +- **Legal Document Repositories** – 在保持机密性的同时实现全文搜索。 + +## 性能考虑 +- **Parallel Indexing** – 对大批量使用多线程。 +- **Memory Monitoring** – 在大规模导入期间监控 JVM 堆内存。 +- **Regular Index Maintenance** – 当文件更改或密码更新时重新索引。 + +## 结论 +现在您已经了解如何使用 GroupDocs.Search **manage document passwords Java**,创建强大的索引,并执行强大的 **search across multiple documents**。将这些步骤集成到您的应用程序中,您将提供安全、快速且可扩展的搜索体验。 + +**下一步** +- 尝试高级查询运算符(通配符、模糊搜索)。 +- 探索增量索引以实现实时更新。 +- 将其与其他 GroupDocs 产品结合,用于 PDF 转换或批注。 + +## 常见问题 + +**Q: Can I index large volumes of documents?** +A: 是的,GroupDocs.Search 旨在高效处理大量文档集合。 + +**Q: Is it possible to update an existing index with new documents?** +A: 当然!您可以根据需要向索引中添加或删除文档。 + +**Q: How do I ensure the security of my indexed data?** +A: 使用文档密码字典,并将索引存放在受保护的目录中。 + +**Q: Can GroupDocs.Search handle different file formats?** +A: 是的,它支持 PDF、Word 文件、Excel 表格以及许多其他常见格式。 + +**Q: What if I encounter performance issues during indexing?** +A: 考虑启用并行处理、增大堆内存或调优索引设置。 + +--- + +**最后更新:** 2025-12-29 +**测试环境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs + +**资源** +- [文档](https://docs.groupdocs.com/search/java/) +- [API 参考](https://reference.groupdocs.com/search/java) +- [下载 GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub 仓库](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/chinese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/chinese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..46ad5f93 --- /dev/null +++ b/content/chinese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,248 @@ +--- +date: '2025-12-29' +description: 了解如何使用 GroupDocs.Search for Java 对 Java 文档进行索引并创建搜索索引。本指南涵盖了设置、索引、搜索以及高效管理文档的内容。 +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: 如何使用 GroupDocs.Search 对 Java 文档进行索引 – 高效搜索 +type: docs +url: /zh/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# 如何使用 GroupDocs.Search 对 Java 文档建立索引 – 高效搜索 + +## 介绍 + +您是否被海量文档淹没,并且在思考 **如何快速建立 java 索引**?许多企业和个人每天都面临此类挑战。**GroupDocs.Search for Java** 提供了一种高效的解决方案,能够简化文档搜索,使过程更快、更易管理。 + +在本教程中,我们将指导您使用 GroupDocs.Search for Java 创建文档的索引库。您将学习如何从文件系统加载文档、执行搜索、管理删除以及高效、可扩展地检索索引数据。 + +**您将学习的内容:** +- 设置并配置 GroupDocs.Search for Java。 +- **创建搜索索引** 并从流中索引文档。 +- 从文件系统加载文档。 +- 在索引上 **执行关键字搜索**。 +- **如何删除索引** 中特定文档的条目。 +- 删除后检索剩余的已索引文档。 + +准备好彻底改变文档搜索的管理方式了吗?让我们先来看前置条件! + +## 快速答案 +- **主要目的是什么?** 高效地索引和搜索 Java 文档。 +- **需要哪个库?** GroupDocs.Search for Java(v25.4 及以上)。 +- **是否需要许可证?** 提供免费试用或临时许可证;生产环境需要正式许可证。 +- **可以从索引中删除文档吗?** 可以,使用带有文档键的 `delete` 方法。 +- **Apache Commons IO 是必须的吗?** 推荐用于文件处理工具。 + +## 什么是 “how to index java”? +对 Java 文档建立索引指的是创建一种可搜索的数据结构(索引),该结构将文档内容映射到可搜索的词项,从而能够基于关键字查询快速检索相关文件。 + +## 为什么使用 GroupDocs.Search for Java? +- **速度:** 优化的算法即使在大型集合上也能快速返回查询结果。 +- **可扩展性:** 处理成千上万的文档而不牺牲性能。 +- **灵活性:** 支持多种文件格式,并为大文件提供惰性加载。 +- **易于集成:** 简单的 Maven 配置和直观的 API。 + +## 前置条件 + +在开始之前,请确保您具备以下条件: + +### 必需的库和依赖 +- **GroupDocs.Search for Java**:确保已安装 25.4 或更高版本。 +- **Apache Commons IO**:用于文件处理工具。 + +### 环境搭建要求 +- Java Development Kit (JDK) 8 或更高版本。 +- IntelliJ IDEA、Eclipse 等集成开发环境(IDE)。 + +### 知识前提 +- 基本的 Java 编程和面向对象概念。 +- 熟悉 Maven 进行依赖管理者更佳,但非必需。 + +## 设置 GroupDocs.Search for Java + +使用 Maven 设置项目环境的步骤如下: + +**Maven 配置:** +在 `pom.xml` 文件中添加以下仓库和依赖: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**直接下载:** +或者直接从 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下载最新版本。 + +### 许可证获取步骤 +- **免费试用:** 先使用免费试用版测试功能。 +- **临时许可证:** 申请临时许可证以无限制地探索全部特性。 +- **购买:** 如满足需求,可考虑购买正式许可证。 + +**基本初始化和设置:** + +环境准备好后,按如下方式初始化 GroupDocs.Search: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## 如何使用 GroupDocs.Search 索引 Java 文档 + +### 创建并索引文档 + +**概述:** 学习如何在指定文件夹中创建索引并从流中添加文档,简化 **创建搜索索引** 的过程。 + +#### 步骤 1:创建索引 +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **参数说明:** 第一个参数是用于存放索引的目录路径。第二个布尔值用于在索引已存在时自动更新索引。 + +#### 步骤 2:从流加载并添加文档 +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **解释:** 这里创建 `DocumentLoader` 读取文件并为索引做准备。`createLazy` 方法用于高效处理大文件。 + +### 从文件系统加载文档 + +**概述:** 实现自定义加载器,使用 Apache Commons IO 工具直接从文件系统读取文档。 + +#### 步骤 1:定义文档加载器 +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **细节:** 该类将文件读取为字节数组,并基于此创建 `Document` 对象。 + +### 在索引中执行关键字搜索 + +**概述:** 对已索引的文档执行搜索操作,以快速检索相关信息。 + +#### 步骤 1:执行搜索 +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **解释:** 使用 `search` 方法并传入简单文本查询,即可从索引数据中获取结果。这种方式在 **java 文档搜索** 场景下非常高效。 + +### 如何删除索引条目 + +**概述:** 通过文档键删除特定文档,以管理索引内容。 + +#### 步骤 1:删除文档 +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **参数说明:** 传入要从索引中移除的文档键数组。`UpdateOptions` 允许灵活的删除策略。 + +### 删除后检索剩余的已索引文档 + +**概述:** 删除文档后,获取剩余已索引文件列表,以确保数据完整性。 + +#### 步骤 1:获取剩余文档 +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **解释:** 此步骤帮助在任何删除操作后验证索引的当前状态。 + +## 实际应用 + +GroupDocs.Search for Java 适用范围广泛,常见用例包括: + +1. **企业文档管理:** 快速搜索公司文档,提高工作效率。 +2. **法律文档分析:** 高效筛选案件文件和法律文本,寻找相关判例。 +3. **图书馆编目系统:** 索引并管理大量图书和手稿,便于访问。 + +## 性能考虑 + +为获得最佳性能,请注意: + +- **索引优化:** 定期更新索引以反映文档的最新变化。 +- **内存管理:** 通过合理管理资源密集型操作,充分利用 Java 垃圾回收。 +- **可扩展性:** 确保索引策略能够处理大规模数据而不降低性能。 + +## 常见问题与解决方案 + +| 问题 | 原因 | 解决方案 | +|------|------|----------| +| **未返回结果** | 查询词未被索引或被停用词过滤 | 检查 `IndexingOptions` 并调整停用词列表 | +| **内存溢出错误** | 未使用惰性加载而直接加载超大文件 | 使用 `Document.createLazy` 或增大 JVM 堆内存 | +| **已删除文档仍出现** | 删除后索引未刷新 | 调用 `index.optimize()` 或重新打开索引 | + +## 常见问答 + +**Q: 能否同时索引 PDF、DOCX 和 PPTX?** +A: 可以,GroupDocs.Search 开箱即支持多种格式。 + +**Q: “how to delete index” 的底层原理是什么?** +A: `delete` 方法根据文档键移除条目,并更新内部倒排列表以保持索引一致。 + +**Q: 有办法监控索引大小吗?** +A: 使用 `index.getStatistics()` 可获取文档数量和存储大小等信息。 + +**Q: 每次删除后需要重建整个索引吗?** +A: 不需要,`delete` 操作会增量更新索引,保留其余数据。 + +**Q: 若模式更改后需要重新索引所有文档,该怎么办?** +A: 在不同的文件夹路径下创建新的 `Index` 实例,并重新添加所有文档。 + +## 结论 + +通过本指南,您已经掌握了 **如何索引 java 文档** 并使用 GroupDocs.Search for Java 执行快速搜索的技巧。该强大库能够彻底改变您对大型文档集合的管理与检索方式,是任何组织的宝贵工具。 + +**后续步骤:** +- 尝试不同的文档类型和复杂查询。 +- 探索高级功能,如分面搜索、元数据索引和自定义分析器。 + +准备好开启您的索引之旅了吗?立即实现这些技术,体验更快、更精准的文档检索! + +--- + +**最后更新:** 2025-12-29 +**测试环境:** GroupDocs.Search Java 25.4 +**作者:** GroupDocs \ No newline at end of file diff --git a/content/chinese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/chinese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..7af98208 --- /dev/null +++ b/content/chinese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,276 @@ +--- +date: '2025-12-29' +description: 学习如何使用 GroupDocs.Search for Java 的高级索引功能(包括取消、异步操作、多线程和元数据自定义)来优化搜索性能。 +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: 使用 GroupDocs.Search for Java 的高级索引技术优化搜索性能 +type: docs +url: /zh/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# 优化 GroupDocs.Search for Java 中的高级索引技术以提升搜索性能 + +在当今节奏快速的数字环境中,**优化搜索性能** 对于向用户提供即时结果至关重要。无论您是构建自定义搜索引擎还是增强现有的文档管理系统,正确的索引策略都能显著降低延迟和资源消耗。在本教程中,我们将逐步演示 GroupDocs.Search for Java 的最强大功能——取消、异步索引、多线程以及元数据自定义——帮助您更快、更高效地 **add documents index**。 + +**您将学习到** + +- 如何在指定时间后取消索引操作 +- 执行异步索引并处理状态变化 +- 为更快的索引配置多线程 +- 自定义元数据索引选项 + +在深入代码之前,请确保您已准备好所有必需的内容。 + +## 前置条件 + +- **GroupDocs.Search 库** – 版本 25.4 或更高。 +- **Java 开发环境** – 推荐使用 JDK 8 或更高版本。 +- 对 Java 基础以及索引概念有基本了解。 + +### 设置 GroupDocs.Search for Java + +#### Maven 安装 + +在 `pom.xml` 文件中添加仓库和依赖: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### 直接下载 + +或者,从 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下载最新的 JAR 包。 + +**获取许可证** – 可先使用免费试用版,或申请临时许可证以解锁全部功能。 + +### 基本初始化和设置 + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## 快速答疑 +- **取消功能有什么作用?** 在设定时间后停止索引,以释放资源。 +- **可以异步索引文档吗?** 可以 – 设置 `options.setAsync(true)`。 +- **可以使用多少线程?** 任意正整数;大多数服务器的典型值为 2‑4。 +- **元数据索引是可选的吗?** 绝对可以 – 您可以按字段启用或微调。 +- **这些功能需要许可证吗?** 试用版可用于测试,生产环境需要正式许可证。 + +## 在本上下文中,“优化搜索性能”指的是什么? + +优化搜索性能意味着配置索引过程,使其在消耗适当的 CPU、内存和时间的同时,能够即时提供最相关的结果。通过控制取消、异步执行、线程以及元数据处理,您直接影响引擎 **add documents index** 的速度以及对查询的响应速度。 + +## 为什么要使用高级索引功能? + +- **降低延迟** – 异步和多线程索引让您的应用保持响应。 +- **更好的资源管理** – 取消功能防止进程失控。 +- **定制搜索相关性** – 元数据选项帮助突出最重要的信息。 + +## 实施指南 + +### 取消属性 + +**概述** – 在指定时长后取消索引,以避免资源过度消耗。 + +#### 步骤 1:设置环境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步骤 2:创建带取消功能的索引选项 + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**关键要点** + +- `setCancellation()` 启用该功能。 +- `cancelAfter(int milliseconds)` 定义超时时间(本例为 3 秒)。 + +### 异步属性 + +**概述** – 在后台线程运行索引并监听状态变化。 + +#### 步骤 1:设置环境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步骤 2:订阅状态更改事件 + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### 步骤 3:配置异步选项 + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### 线程属性 + +**概述** – 通过利用多个 CPU 核心加速索引。 + +#### 步骤 1:设置环境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步骤 2:配置多线程 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### 元数据索引选项属性 + +**概述** – 微调哪些文档元数据被索引以及如何存储。 + +#### 步骤 1:设置环境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步骤 2:配置元数据选项 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## 实际应用场景 + +1. **文档管理系统** – 使用异步索引,在后台处理大批量文件时保持 UI 响应。 +2. **内容搜索引擎** – 在高峰期通过取消功能防止长时间作业占用服务器资源。 +3. **大规模摄取管道** – 利用多线程 **add documents index**,大幅缩短处理时间。 + +## 性能考量 + +- **线程管理** – 监控 CPU 使用率;线程过多会导致上下文切换开销。 +- **内存占用** – 元数据限制(如 `setMaxBytesToIndexField`)有助于保持内存使用可预测。 +- **垃圾回收** – 对于海量语料库,使用合适的 JVM 参数(`-Xmx`, `-XX:+UseG1GC`)以优化 GC。 + +## 常见问题与解决方案 + +| 症状 | 可能原因 | 解决办法 | +|------|----------|----------| +| 索引永不结束 | 取消时间设置过低 | 增加 `cancelAfter` 值或在长作业中移除取消功能 | +| 异步模式下没有状态更新 | 事件处理器未正确附加 | 确保在调用 `index.add` 前先执行 `index.getEvents().StatusChanged.add(...)` | +| 内存溢出错误 | 线程过多或元数据限制过高 | 减少 `options.setThreads` 并降低元数据字段限制 | +| 结果中缺少元数据 | 元数据索引被禁用 | 检查 `options.getMetadataIndexingOptions()` 是否已配置且未设置为忽略字段 | + +## 常见问答 + +**问:如何获取 GroupDocs.Search 的临时许可证?** +答:访问 [GroupDocs 的临时许可证页面](https://purchase.groupdocs.com/temporary-license/)。 + +**问:可以在索引进行到一半时取消吗?** +答:可以 – 使用 `cancelAfter()` 属性或在代码中调用 `Cancellation.cancel()`。 + +**问:异步索引有哪些使用场景?** +答:实时文档检索、后台批处理以及需要 UI 响应的应用都受益于异步索引。 + +**问:在共享服务器上增加线程数安全么?** +答:请逐步增加并监控 CPU 负载;在高度共享的环境中,建议保持线程数在 2‑4 之间。 + +**问:元数据索引如何影响搜索相关性?** +答:正确索引的元数据(作者、创建日期、标签等)可以在查询中赋予更高权重,从而提升结果准确度。 + +## 结论 + +通过充分利用 GroupDocs.Search for Java 的这些高级功能,您可以在各种场景下 **优化搜索性能**——从快速文档摄取到细粒度的元数据控制。请尝试不同配置,监控资源使用情况,并根据具体工作负载调整设置,以获得最佳效果。 + +--- + +**最后更新:** 2025-12-29 +**测试环境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs + +--- \ No newline at end of file diff --git a/content/czech/java/getting-started/_index.md b/content/czech/java/getting-started/_index.md new file mode 100644 index 00000000..823fe4e6 --- /dev/null +++ b/content/czech/java/getting-started/_index.md @@ -0,0 +1,99 @@ +--- +date: 2025-12-29 +description: Postupný návod, jak nakonfigurovat GroupDocs.Search pro vývojáře Java, + zahrnující instalaci, licencování a vytvoření vašeho prvního vyhledávacího řešení. +title: 'Jak konfigurovat GroupDocs.Search - Úvodní tutoriály pro Javu' +type: docs +url: /cs/java/getting-started/ +weight: 1 +--- + +# Jak nakonfigurovat GroupDocs.Search - Úvodní tutoriály pro Java + +Vítejte v dokonalém průvodci **jak nakonfigurovat GroupDocs.Search** pro Java aplikace. V tomto tutoriálu se naučíte základní kroky k instalaci knihovny, nastavení licencování a vytvoření vašeho prvního řešení pro prohledávatelné dokumenty. Ať už začínáte nový projekt nebo integrujete vyhledávání do existujícího kódu, tento návod vám poskytne vše, co potřebujete k rychlému spuštění. + +## Rychlé odpovědi +- **Jaký je první krok?** Nainstalujte balíček GroupDocs.Search Java pomocí Maven nebo Gradle. +- **Potřebuji licenci?** Ano — dočasná licence funguje pro vývoj; plná licence je vyžadována pro produkci. +- **Které IDE je nejlepší?** Jakékoli Java IDE (IntelliJ IDEA, Eclipse, VS Code), které podporuje Maven/Gradle projekty. +- **Mohu indexovat PDF a Word soubory?** Rozhodně — GroupDocs.Search podporuje širokou škálu formátů dokumentů ihned po instalaci. +- **Jak dlouho trvá nastavení?** Obvykle méně než 15 minut pro nový projekt. + +## Co je „jak nakonfigurovat GroupDocs.Search“? +Konfigurace GroupDocs.Search znamená připravit knihovnu pro indexování dokumentů, definovat úložiště a aplikovat licenční klíč, aby API mohlo fungovat bez omezení. Správná konfigurace zajišťuje rychlé, přesné výsledky vyhledávání a plynulou integraci s vaším Java kódem. + +## Proč konfigurovat GroupDocs.Search pro Java? +- **Rychlá implementace** — k zahájení indexování a vyhledávání stačí minimální množství kódu. +- **Škálovatelné indexování** — zvládá velké kolekce dokumentů bez ztráty výkonu. +- **Široká podpora formátů** — pracuje s PDF, DOCX, XLSX, PPTX a mnoha dalšími typy souborů. +- **Bezpečné licencování** — zaručuje soulad a odemyká všechny prémiové funkce. + +## Předpoklady +- Java Development Kit (JDK) 8 nebo vyšší. +- Maven 3 nebo Gradle 5 pro správu závislostí. +- Přístup k dočasnému nebo plnému licenčnímu klíči GroupDocs.Search. + +## Průvodce krok za krokem + +### Krok 1: Přidejte GroupDocs.Search do svého projektu +Přidejte závislost GroupDocs.Search do souboru `pom.xml` (Maven) nebo `build.gradle` (Gradle). Tím zpřístupníte knihovnu vašemu kódu. + +### Krok 2: Aplikujte svou licenci +Vytvořte objekt `License` a načtěte svůj dočasný nebo trvalý licenční soubor. Tento krok odemkne plnou funkčnost a odstraní omezení hodnocení. + +### Krok 3: Inicializujte nastavení indexu +Definujte, kde budou na disku uloženy soubory indexu, a nakonfigurujte libovolné vlastní možnosti indexování, které potřebujete (např. citlivost na velikost písmen, stop‑slova). + +### Krok 4: Indexujte své dokumenty +Použijte třídu `Indexer` k přidání souborů nebo složek do indexu. GroupDocs.Search automaticky rozpozná typ souboru a extrahuje prohledávatelný text. + +### Krok 5: Proveďte vyhledávací dotaz +Vytvořte objekt `SearchOptions`, zadejte řetězec dotazu a spusťte vyhledávání. API vrátí seznam odpovídajících dokumentů s relevancí. + +### Krok 6: Prohlédněte si výsledky +Procházejte výsledky vyhledávání, zobrazte názvy souborů a případně zvýrazněte odpovídající výrazy v uživatelském rozhraní. + +## Časté problémy a řešení +- **Licence není rozpoznána** — ověřte cestu k licenčnímu souboru a ujistěte se, že odpovídá verzi GroupDocs.Search, kterou používáte. +- **Chybějící formáty dokumentů** — nainstalujte volitelný doplněk `groupdocs-conversion`, pokud potřebujete podporu méně běžných typů souborů. +- **Úzká místa ve výkonu** — použijte inkrementální indexování a nakonfigurujte složku indexu na SSD úložišti pro rychlejší přístup. + +## Často kladené otázky + +**Q: Můžu použít GroupDocs.Search na Linux serveru?** +A: Ano, knihovna je platformně nezávislá a běží na jakémkoli OS, který podporuje Javu. + +**Q: Jak aktualizuji index po přidání nových souborů?** +A: Znovu zavolejte `Indexer` s novými soubory; knihovna je sloučí do existujícího indexu. + +**Q: Existuje způsob, jak omezit výsledky vyhledávání na konkrétní složku?** +A: Ano, nastavte filtr složky v `SearchOptions` před provedením dotazu. + +**Q: Co se stane, když překročím dobu platnosti dočasné licence?** +A: API bude nadále fungovat v režimu hodnocení s omezenými funkcemi; nahraďte licenční soubor trvalým klíčem pro obnovení plné funkčnosti. + +**Q: Podporuje GroupDocs.Search fuzzy vyhledávání?** +A: Rozhodně — povolte fuzzy matching v `SearchOptions` a získáte výsledky s drobnými pravopisnými odchylkami. + +## Další zdroje + +### Dostupné tutoriály + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Naučte se nasadit a konfigurovat GroupDocs.Search pro Java pomocí tohoto podrobného průvodce. Vylepšete indexování dokumentů a vyhledávací schopnosti ve svých projektech. + +### Užitečné odkazy +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Poslední aktualizace:** 2025-12-29 +**Testováno s:** GroupDocs.Search 23.12 for Java +**Autor:** GroupDocs + +--- \ No newline at end of file diff --git a/content/czech/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/czech/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..65fb3a5a --- /dev/null +++ b/content/czech/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,242 @@ +--- +date: '2025-12-29' +description: Naučte se, jak vyčistit adresář v Javě, automatizovat správu dokumentů + a přejmenovávat soubory pomocí GroupDocs.Search pro Javu. Zvyšte efektivitu ve svých + aplikacích. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Čistý adresář Java – Automatizujte indexování a přejmenování +type: docs +url: /cs/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatizujte indexování dokumentů a přejmenování pomocí GroupDocs.Search + +## Quick Answers +- **Co znamená “clean directory java”?** Odstraňování všech souborů/složek uvnitř cílového adresáře pomocí Java kódu. +- **Která knihovna vytváří prohledávatelný index?** GroupDocs.Search for Java. +- **Jak přejmenuji dokument a udržuji index aktuální?** Použijte `File.renameTo()` a poté informujte index pomocí `Notification.createRenameNotification`. +- **Mohu po vyčištění složky kopírovat soubory?** Ano – Java Streams mohou soubory kopírovat při zachování indexu. +- **Je pro produkci vyžadována licence?** Pro komerční použití je potřeba platná licence GroupDocs.Search. + +## What is “clean directory java”? +Vyčištění adresáře v Javě znamená programově odstranit každý soubor a podadresář uvnitř určené složky. Často to slouží jako předběžný krok před kopírováním nových souborů nebo přestavbou indexu, aby zastaralá data neovlivňovala výsledky vyhledávání. + +## Why automate document indexing and renaming? +- **Automatizace správy dokumentů** snižuje ruční úsilí a eliminuje lidské chyby. +- **Krok vytvoření prohledávatelného indexu** vám umožní okamžitě najít jakýkoli dokument podle obsahu. +- **Přejmenování souborů bez aktualizace indexu** by narušilo přesnost vyhledávání; automatizace udržuje vše konzistentní. + +## Prerequisites + +- **GroupDocs.Search for Java** (verze 25.4 nebo novější) +- JDK 8 + a IDE jako IntelliJ IDEA nebo Eclipse +- Základní znalost Javy, zejména práce se soubory (I/O) + +## Setting Up GroupDocs.Search for Java + +### Maven Dependency +Přidejte repozitář a závislost do svého `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternativně stáhněte nejnovější verzi z [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Získejte bezplatnou zkušební verzi, dočasnou evaluační licenci nebo zakupte plnou licenci pro produkční použití. + +### Basic Initialization +Vytvořte instanci `Index`, která bude obsahovat prohledávatelná data: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementation Guide + +### 1. Add Documents to Index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Vysvětlení*: +- `indexFolder` – kde jsou uloženy soubory indexu. +- `documentFolder` – zdrojová složka, která obsahuje soubory, jež chcete učinit prohledávatelnými. + +### 2. Rename a Document and Notify the Index + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Vysvětlení*: +- `File.renameTo()` v Javě provádí fyzické přejmenování. +- `Notification.createRenameNotification()` informuje GroupDocs.Search, že se název souboru změnil, čímž udržuje index přesný. + +## Clean Directory Java – Directory Cleaning and File Copying + +Udržení složky v pořádku před hromadným kopírováním zabraňuje duplicitním nebo osiřelým souborům. Níže jsou dva znovupoužitelné úryvky. + +### Step 1: Delete Folder Contents (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Vysvětlení*: +- `Files.walk()` prochází každý soubor a podadresář. +- Řazení v opačném pořadí zajišťuje, že soubory jsou odstraněny před jejich nadřazenými adresáři, čímž efektivně **odstraní obsah složky**. + +### Step 2: Copy Files (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Vysvětlení*: +- Proud filtruje pouze běžné soubory a poté je kopíruje do cílové složky, přepisuje existující soubory podle potřeby. + +## Practical Applications + +- **Enterprise Document Management** – Automatizujte indexování tisíců smluv a udržujte názvy souborů synchronizované. +- **Legal Firms** – Rychle přejmenujte spisové soubory při zachování prohledávatelného obsahu. +- **Content Management Systems** – Použijte vzor clean‑directory k obnovení mediálních složek bez ručního úklidu. + +## Performance Considerations + +- **Velikost indexu** – Pravidelně index kompaktně zmenšujte, pokud narůstá. +- **Využití paměti** – Zpracovávejte soubory po dávkách, aby nedošlo k `OutOfMemoryError`. +- **Současnost (Concurrency)** – Pro hromadné operace zvažte `ExecutorService` v Javě k paralelizaci čištění a kopírování. + +## Common Issues & Tips + +| Problém | Příčina | Řešení | +|-------|-------|-----| +| Přejmenování selže | Soubor je uzamčen nebo cesta neplatná | Ujistěte se, že soubor není otevřen jinde; použijte `Files.move` pro spolehlivější přejmenování. | +| Index se neaktualizuje | Notifikace nebyla odeslána | Vždy zavolejte `index.notifyIndex(notification)` a poté `index.update()`. | +| Zastaralé výsledky vyhledávání po kopírování | Index stále odkazuje na staré soubory | Znovu přidejte cílovou složku do indexu nebo po kopírování zavolejte `index.update()`. | + +## Frequently Asked Questions + +**Q: Mohu vyčistit adresář, který obsahuje podadresáře?** +A: Ano. Přístup pomocí `Files.walk()` rekurzivně odstraní všechny vnořené soubory a složky. + +**Q: Musím po každém přejmenování přestavět celý index?** +A: Ne. Stačí odeslat notifikaci o přejmenování a zavolat `index.update()`. + +**Q: Jak velký adresář mohu vyčistit, než narazím na limity výkonu?** +A: Záleží na paměti JVM; zpracování v menších dávkách nebo pomocí streamů pomáhá spravovat velké datové sady. + +**Q: Je GroupDocs.Search zdarma pro vývoj?** +A: K dispozici je bezplatná zkušební verze, ale pro produkční použití je vyžadována placená licence. + +**Q: Mohu tento přístup použít i pro jiné typy souborů (např. PDF, DOCX)?** +A: Rozhodně. GroupDocs.Search podporuje mnoho formátů; stačí přidat složku obsahující tyto soubory do indexu. + +## Conclusion + +Máte nyní kompletní, připravené řešení pro **clean directory java**, které přidává dokumenty do prohledávatelného indexu, přejmenovává soubory a udržuje vše synchronizované s GroupDocs.Search. Použijte tyto vzory k automatizaci pracovního postupu správy dokumentů a užívejte si rychlejší a spolehlivější vyhledávání. + +--- + +**Poslední aktualizace:** 2025-12-29 +**Testováno s:** GroupDocs.Search 25.4 +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/czech/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/czech/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..3a113cae --- /dev/null +++ b/content/czech/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Naučte se, jak spravovat hesla dokumentů v Javě pomocí GroupDocs.Search, + vytvářet prohledávatelné indexy a efektivně vyhledávat v několika dokumentech. +keywords: +- manage document passwords java +- search across multiple documents +title: Správa hesel dokumentů v Javě pomocí GroupDocs.Search +type: docs +url: /cs/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Správa hesel dokumentů v Javě pomocí GroupDocs.Search + +V moderních podnikových aplikacích je **správa hesel dokumentů v Javě** klíčovým krokem k ochraně citlivých souborů a zároveň umožňuje rychlé a spolehlivé vyhledávání. V tomto průvodci vám ukážeme, jak vytvořit a spravovat indexy pomocí GroupDocs.Search, bezpečně uložit hesla do slovníku indexu a poté **vyhledávat napříč více dokumenty** s lehkostí. Ať už budujete systém pro správu dokumentů nebo přidáváte vyhledávání do existující Java aplikace, níže uvedené kroky vás rychle uvedou do chodu. + +## Rychlé odpovědi +- **Co znamená „správa hesel dokumentů v Javě“?** Jedná se o ukládání a načítání hesel pro chráněné soubory přímo ve vyhledávacím indexu. +- **Mohu indexovat soubory chráněné heslem?** Ano — stačí před indexací přidat hesla do slovníku indexu. +- **Kolik dokumentů mohu vyhledávat najednou?** GroupDocs.Search dokáže **vyhledávat napříč více dokumenty** v jedné dotazové operaci. +- **Potřebuji licenci pro produkční nasazení?** Licence je vyžadována pro produkční použití; k vyzkoušení je k dispozici bezplatná zkušební verze. +- **Jaká verze Javy je požadována?** JDK 8 nebo vyšší. + +## Co je „správa hesel dokumentů v Javě“? +Ukládání hesel dokumentů uvnitř vyhledávacího indexu umožňuje enginu automaticky otevírat chráněné soubory během indexování i vyhledávání, čímž se eliminuje nutnost ručního zadávání hesla při každém přístupu. + +## Proč použít GroupDocs.Search pro tento úkol? +- **Vestavěný slovník hesel** — uchovávejte hesla vázaná na cesty souborů. +- **Vysoce výkonné indexování** — rychle zpracujte tisíce souborů. +- **Bohatý dotazovací jazyk** — podporuje složité vyhledávání napříč mnoha typy dokumentů. + +## Předpoklady +- **JDK 8+** nainstalováno. +- **Maven** pro správu závislostí. +- Základní znalost Javy (pracování se soubory, třídy). + +## Nastavení GroupDocs.Search pro Javu + +Přidejte repozitář a závislost do souboru `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Knihovnu si můžete také stáhnout přímo z oficiální stránky vydání: [vydání GroupDocs.Search pro Java](https://releases.groupdocs.com/search/java/). + +### Inicializace indexu + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Jak spravovat hesla dokumentů v Javě? + +### 1. Definujte složku indexu a vytvořte index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Vymažte existující hesla (pokud jsou) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Přidejte heslo pro konkrétní dokument +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Načtěte a odstraňte heslo +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Přidejte hesla k více dokumentům +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Jak indexovat dokumenty s hesly? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Jak vyhledávat napříč více dokumenty? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Praktické aplikace +- **Podniková správa dokumentů** — zabezpečené, vyhledávatelné archivy. +- **Platformy pro správu obsahu** — rychlé získávání chráněných aktiv. +- **Repozitáře právních dokumentů** — zachování důvěrnosti při plnotextovém vyhledávání. + +## Úvahy o výkonu +- **Paralelní indexování** — využijte více vláken pro velké dávky. +- **Monitorování paměti** — sledujte haldu JVM během masivních importů. +- **Pravidelná údržba indexu** — přeindexujte při změně souborů nebo aktualizaci hesel. + +## Závěr +Nyní víte, jak **spravovat hesla dokumentů v Javě** pomocí GroupDocs.Search, vytvořit robustní indexy a provádět výkonné **vyhledávání napříč více dokumenty**. Začleněním těchto kroků do vaší aplikace poskytnete bezpečné, rychlé a škálovatelné vyhledávací zážitky. + +**Další kroky** +- Vyzkoušejte pokročilé operátory dotazů (zástupné znaky, fuzzy vyhledávání). +- Prozkoumejte inkrementální indexování pro aktualizace v reálném čase. +- Kombinujte s dalšími produkty GroupDocs pro konverzi PDF nebo anotace. + +## Často kladené otázky + +**Q: Mohu indexovat velké objemy dokumentů?** +A: Ano, GroupDocs.Search je navržen tak, aby efektivně zvládal rozsáhlé kolekce. + +**Q: Je možné aktualizovat existující index novými dokumenty?** +A: Rozhodně! Můžete do indexu přidávat nebo z něj odstraňovat dokumenty podle potřeby. + +**Q: Jak zajistit bezpečnost indexovaných dat?** +A: Použijte slovník hesel dokumentů a uložte index v chráněném adresáři. + +**Q: Dokáže GroupDocs.Search pracovat s různými formáty souborů?** +A: Ano, podporuje PDF, Word, Excel a mnoho dalších běžných formátů. + +**Q: Co když narazím na problémy s výkonem během indexování?** +A: Zvažte zapnutí paralelního zpracování, zvýšení velikosti haldy nebo ladění nastavení indexu. + +--- + +**Poslední aktualizace:** 2025-12-29 +**Testováno s:** GroupDocs.Search 25.4 pro Javu +**Autor:** GroupDocs + +**Zdroje** +- [Dokumentace](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Stáhnout GroupDocs.Search pro Javu](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/czech/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/czech/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..70562748 --- /dev/null +++ b/content/czech/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Naučte se, jak indexovat dokumenty Java a vytvořit vyhledávací index + pomocí GroupDocs.Search pro Java. Tento průvodce pokrývá nastavení, indexování, + vyhledávání a efektivní správu dokumentů. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Jak indexovat Java dokumenty pomocí GroupDocs.Search – Efektivní vyhledávání +type: docs +url: /cs/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Jak indexovat Java dokumenty pomocí GroupDocs.Search – Efektivní vyhledávání + +## Úvod + +Jste zahlceni obrovským množstvím dokumentů a přemýšlíte, **jak rychle indexovat java** soubory? Mnoho firem i jednotlivců čelí tomuto problému denně. **GroupDocs.Search for Java** nabízí efektivní řešení, které zjednoduší vyhledávání v dokumentech, čímž proces zrychlí a usnadní. + +V tomto tutoriálu vás provedeme používáním GroupDocs.Search for Java k vytvoření indexovaného úložiště vašich dokumentů. Naučíte se, jak načíst dokumenty ze souborového systému, provádět vyhledávání, spravovat mazání a efektivně a škálovatelně získávat indexovaná data. + +**Co se naučíte:** +- Nastavení a konfigurace GroupDocs.Search for Java. +- **Vytvoření vyhledávacího indexu** a indexování dokumentů ze streamů. +- Načítání dokumentů ze souborového systému. +- **Provádění vyhledávání klíčových slov** v indexu. +- **Jak smazat index** položky pro konkrétní dokumenty. +- Získání indexovaných dokumentů po smazání. + +Připraveni revolučně změnit způsob, jakým spravujete vyhledávání v dokumentech? Začněme s předpoklady! + +## Rychlé odpovědi +- **Jaký je hlavní účel?** Efektivně indexovat a vyhledávat Java dokumenty. +- **Která knihovna je vyžadována?** GroupDocs.Search for Java (v25.4+). +- **Potřebuji licenci?** K dispozici je bezplatná zkušební verze nebo dočasná licence; pro produkci je vyžadována trvalá licence. +- **Mohu mazat dokumenty z indexu?** Ano, pomocí metody `delete` s klíči dokumentů. +- **Je Apache Commons IO povinné?** Doporučuje se pro utility pro práci se soubory. + +## Co je „jak indexovat java“? + +Indexování Java dokumentů znamená vytvoření vyhledávatelné datové struktury (indexu), která mapuje obsah dokumentu na vyhledávatelné termíny, což umožňuje rychlé získání relevantních souborů na základě dotazů s klíčovými slovy. + +## Proč používat GroupDocs.Search for Java? + +- **Rychlost:** Optimalizované algoritmy poskytují rychlé výsledky dotazů i u velkých kolekcí. +- **Škálovatelnost:** Zvládá tisíce dokumentů bez ztráty výkonu. +- **Flexibilita:** Podporuje různé formáty souborů a nabízí lazy loading pro velké soubory. +- **Jednoduchá integrace:** Jednoduché nastavení Maven a přehledné API. + +## Předpoklady + +Než začneme, ujistěte se, že máte následující: + +### Požadované knihovny a závislosti +- **GroupDocs.Search for Java**: Ujistěte se, že je nainstalována verze 25.4 nebo novější. +- **Apache Commons IO**: Potřebné pro utility pro práci se soubory. + +### Požadavky na nastavení prostředí +- Java Development Kit (JDK) 8 nebo vyšší. +- Integrované vývojové prostředí (IDE) jako IntelliJ IDEA nebo Eclipse. + +### Předpoklady znalostí +- Základní pochopení programování v Javě a objektově orientovaných konceptů. +- Znalost Maven pro správu závislostí je výhodná, ale není povinná. + +## Nastavení GroupDocs.Search for Java + +Nastavení prostředí projektu s GroupDocs.Search zahrnuje následující kroky pomocí Maven: + +**Konfigurace Maven:** +Přidejte následující repozitář a závislost do souboru `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Přímé stažení:** +Alternativně stáhněte nejnovější verzi přímo z [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Kroky získání licence +- **Bezplatná zkušební verze:** Začněte s bezplatnou zkušební verzí pro otestování funkcí. +- **Dočasná licence:** Požádejte o dočasnou licenci pro prozkoumání všech funkcí bez omezení. +- **Nákup:** Zvažte zakoupení, pokud vám vyhovuje. + +**Základní inicializace a nastavení:** + +Jakmile je prostředí připravené, inicializujte GroupDocs.Search takto: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Jak indexovat Java dokumenty pomocí GroupDocs.Search + +### Vytváření a indexování dokumentů + +**Přehled:** Naučte se vytvořit index ve specifikované složce a přidávat dokumenty ze streamů, což zjednodušuje proces **vytvoření vyhledávacího indexu**. + +#### Krok 1: Vytvoření indexu +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parametry:** První parametr je cesta ke složce pro ukládání indexů. Druhý boolean povoluje automatickou aktualizaci indexu, pokud existuje. + +#### Krok 2: Načtení a přidání dokumentů ze streamu +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Vysvětlení:** Zde vytvoříte `DocumentLoader` pro načtení souboru a jeho přípravu na indexování. Metoda `createLazy` se používá pro efektivní zpracování velkých souborů. + +### Načítání dokumentů ze souborového systému + +**Přehled:** Implementujte vlastní načítač, který čte dokumenty přímo z vašeho souborového systému pomocí utilit Apache Commons IO. + +#### Krok 1: Definice Document Loaderu +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detaily:** Tato třída načte soubor do pole bajtů a vytvoří z něj objekt `Document`. + +### Provádění vyhledávání klíčových slov v indexu + +**Přehled:** Proveďte vyhledávací operace na vašich indexovaných dokumentech pro rychlé získání relevantních informací. + +#### Krok 1: Spuštění vyhledávání +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Vysvětlení:** Použijte metodu `search` s jednoduchým textovým dotazem pro získání výsledků z vašich indexovaných dat. Tento přístup je efektivní pro scénáře **java document search**. + +### Jak smazat položky indexu + +**Přehled:** Spravujte svůj index mazáním konkrétních dokumentů pomocí jejich klíčů. + +#### Krok 1: Smazání dokumentu +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parametry:** Předávejte pole klíčů dokumentů, které chcete z indexu odstranit. `UpdateOptions` umožňuje flexibilní strategie mazání. + +### Získání indexovaných dokumentů po smazání + +**Přehled:** Po smazání dokumentů získáte seznam zbývajících indexovaných souborů pro zajištění integrity dat. + +#### Krok 1: Získání zbývajících dokumentů +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Vysvětlení:** Tento krok pomáhá ověřit aktuální stav vašeho indexu po jakémkoli smazání. + +## Praktické aplikace + +1. **Enterprise Document Management:** Rychlé vyhledávání v dokumentech společnosti pro zvýšení produktivity. +2. **Legal Document Analysis:** Efektivní procházení soudních spisů a právních textů pro nalezení relevantních precedencí. +3. **Library Cataloging Systems:** Indexování a správa velkých sbírek knih a rukopisů pro snadnější přístup. + +## Úvahy o výkonu + +Pro optimální výkon: + +- **Optimalizace indexu:** Pravidelně aktualizujte svůj index, aby odrážel nedávné změny v dokumentech. +- **Správa paměti:** Efektivně využívejte garbage collection v Javě tím, že budete řídit operace náročné na zdroje. +- **Škálovatelnost:** Zajistěte, aby vaše strategie indexování zvládala velké objemy dat bez zhoršení výkonu. + +## Časté problémy a řešení + +| Problém | Příčina | Řešení | +|-------|-------|----------| +| **No results returned** | Query terms not indexed or stop‑words filtered | Verify `IndexingOptions` and adjust stop‑words list | +| **Out‑of‑memory errors** | Loading very large files without lazy loading | Use `Document.createLazy` or increase JVM heap size | +| **Deleted documents still appear** | Index not refreshed after deletion | Call `index.optimize()` or reopen the index | + +## Často kladené otázky + +**Q: Can I index PDFs, DOCX, and PPTX together?** +A: Yes, GroupDocs.Search supports a wide range of formats out of the box. + +**Q: How does “how to delete index” work under the hood?** +A: The `delete` method removes entries based on document keys and updates internal posting lists to keep the index consistent. + +**Q: Is there a way to monitor index size?** +A: Use `index.getStatistics()` to retrieve information about document count and storage size. + +**Q: Do I need to rebuild the entire index after each deletion?** +A: No, the `delete` operation updates the index incrementally, preserving existing data. + +**Q: What if I need to re‑index all documents after a schema change?** +A: Create a new `Index` instance with a different folder path and re‑add all documents. + +## Závěr + +Do této chvíle byste měli mít pevné pochopení **jak indexovat java** dokumenty a provádět rychlé vyhledávání pomocí GroupDocs.Search for Java. Tato výkonná knihovna může transformovat způsob, jakým spravujete a získáváte informace z velkých kolekcí dokumentů, což z ní činí neocenitelný nástroj pro jakoukoli organizaci. + +**Další kroky:** +- Experimentujte s různými typy dokumentů a složitými dotazy. +- Prozkoumejte pokročilé funkce jako faceted search, indexování metadat a vlastní analyzátory. + +Připraveni zahájit svou cestu indexování? Implementujte tyto techniky ještě dnes a zažijte rychlejší a přesnější získávání dokumentů! + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search Java 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/czech/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/czech/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..d33cb8f2 --- /dev/null +++ b/content/czech/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Naučte se, jak optimalizovat výkon vyhledávání pomocí pokročilých funkcí + indexování GroupDocs.Search pro Javu, včetně zrušení, asynchronních operací, vícevláknového + zpracování a přizpůsobení metadat. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimalizujte výkon vyhledávání pomocí pokročilých technik indexování v GroupDocs.Search + pro Javu +type: docs +url: /cs/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimalizace výkonnosti vyhledávání pomocí pokročilých technik indexování v GroupDocs.Search pro Java + +V dnešním rychle se rozvíjejícím digitálním prostředí je **optimalizace výkonnosti vyhledávání** nezbytná pro poskytování okamžitých výsledků uživatelům. Ať už vytváříte vlastní vyhledávač nebo vylepšujete existující systém správy dokumentů, správná strategie indexování může výrazně snížit latenci a spotřebu zdrojů. V tomto tutoriálu projdeme nejvýkonnější funkce GroupDocs.Search pro Java — zrušení, asynchronní indexování, vícevláknové zpracování a přizpůsobení metadat — abyste mohli **add documents index** rychleji a efektivněji. + +**Co se naučíte** + +- Jak zrušit operaci indexování po uplynutí určeného času +- Provádění asynchronních operací indexování a zpracování změn stavu +- Konfigurace vícevláknového zpracování pro rychlejší indexování +- Přizpůsobení možností indexování metadat + +Ujistěte se, že máte vše potřebné, než se ponoříme do kódu. + +## Požadavky + +- **GroupDocs.Search Library** – verze 25.4 nebo novější. +- **Java Development Environment** – doporučujeme JDK 8 nebo vyšší. +- Základní znalost Javy a konceptu indexování. + +### Nastavení GroupDocs.Search pro Java + +#### Instalace pomocí Maven + +Přidejte repozitář a závislost do souboru `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Přímé stažení + +Alternativně stáhněte nejnovější JAR ze [vydání GroupDocs.Search pro Java](https://releases.groupdocs.com/search/java/). + +**Získání licence** — Začněte s bezplatnou zkušební verzí nebo požádejte o dočasnou licenci pro odemknutí kompletní sady funkcí. + +### Základní inicializace a nastavení + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Rychlé odpovědi +- **Co dělá zrušení?** Zastaví indexování po nastaveném čase, aby uvolnilo zdroje. +- **Mohu indexovat dokumenty asynchronně?** Ano — nastavte `options.setAsync(true)`. +- **Kolik vláken mohu použít?** Libovolné kladné celé číslo; typické hodnoty jsou 2‑4 pro většinu serverů. +- **Je indexování metadat volitelné?** Ano — můžete jej povolit nebo jemně doladit pro každé pole. +- **Potřebuji licenci pro tyto funkce?** Zkušební verze stačí pro testování; pro produkci je vyžadována plná licence. + +## Co znamená „Optimalizace výkonnosti vyhledávání“ v tomto kontextu? + +Optimalizace výkonnosti vyhledávání znamená nastavení procesu indexování tak, aby spotřebovával správné množství CPU, paměti a času a zároveň okamžitě poskytoval nejrelevantnější výsledky. Řízením zrušení, asynchronního provádění, vláken a zpracování metadat přímo ovlivníte, jak rychle může engine **add documents index** a reagovat na dotazy. + +## Proč používat pokročilé funkce indexování? + +- **Snížená latence** — Asynchronní a vícevláknové indexování udržuje aplikaci responzivní. +- **Lepší správa zdrojů** — Zrušení zabraňuje nekontrolovaným procesům. +- **Přizpůsobená relevance vyhledávání** — Možnosti metadat vám umožní zobrazit nejdůležitější informace. + +## Průvodce implementací + +### Cancellation Property + +**Přehled** — Zrušte indexování po určené době, aby nedošlo k nadměrné spotřebě zdrojů. + +#### Krok 1: Nastavte prostředí + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Krok 2: Vytvořte možnosti indexování se zrušením + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Klíčové body** + +- `setCancellation()` aktivuje funkci. +- `cancelAfter(int milliseconds)` definuje časový limit (v tomto příkladu 3 sekundy). + +### Asynchronous Property + +**Přehled** — Spusťte indexování na vlákně na pozadí a poslouchejte změny stavu. + +#### Krok 1: Nastavte prostředí + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Krok 2: Přihlaste se k události změny stavu + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Krok 3: Nakonfigurujte asynchronní možnosti + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Přehled** — Zrychlete indexování využitím více jader CPU. + +#### Krok 1: Nastavte prostředí + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Krok 2: Nakonfigurujte vícevláknové zpracování + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Přehled** — Jemně doladíte, která metadata dokumentu se indexují a jak jsou uložena. + +#### Krok 1: Nastavte prostředí + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Krok 2: Nakonfigurujte možnosti metadat + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Praktické aplikace + +1. **Systémy správy dokumentů** — Použijte asynchronní indexování, aby UI zůstalo responzivní během zpracování velkých dávek na pozadí. +2. **Vyhledávače obsahu** — Použijte zrušení, aby dlouho běžící úlohy nevyčerpávaly zdroje serveru během špičkového provozu. +3. **Velkokapacitní ingestní pipeline** — Využijte vícevláknové zpracování k **add documents index** ve velkém měřítku, čímž dramaticky zkrátíte dobu zpracování. + +## Úvahy o výkonu + +- **Správa vláken** — Sledujte využití CPU; příliš mnoho vláken může způsobit režii přepínání kontextu. +- **Paměťová stopa** — Limity metadat (např. `setMaxBytesToIndexField`) pomáhají udržet předvídatelnou spotřebu paměti. +- **Garbage Collection** — Používejte vhodné JVM flagy (`-Xmx`, `-XX:+UseG1GC`) při indexování obrovských korpusů. + +## Časté problémy a řešení + +| Příznak | Pravděpodobná příčina | Řešení | +|---------|-----------------------|--------| +| Indexování nikdy nedokončí | Zrušení nastaveno příliš nízko | Zvyšte hodnotu `cancelAfter` nebo odstraňte zrušení pro dlouhé úlohy | +| V asynchronním režimu nejsou žádné aktualizace stavu | Obsluha události není správně připojena | Ujistěte se, že `index.getEvents().StatusChanged.add(...)` je voláno před `index.add` | +| Chyby nedostatku paměti | Příliš mnoho vláken nebo vysoké limity metadat | Snižte `options.setThreads` a omezte limity polí metadat | +| Chybějící metadata ve výsledcích | Indexování metadat je zakázáno | Ověřte, že `options.getMetadataIndexingOptions()` je nakonfigurováno a není nastaveno na ignorování polí | + +## Často kladené otázky + +**Q: Jak získám dočasnou licenci pro GroupDocs.Search?** +A: Navštivte [dočasnou licenční stránku GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**Q: Mohu zrušit operaci indexování uprostřed?** +A: Ano — použijte vlastnost zrušení s `cancelAfter()` nebo programově zavolejte `Cancellation.cancel()`. + +**Q: Jaké jsou některé případy použití asynchronního indexování?** +A: Vyhledávání dokumentů v reálném čase, zpracování dávkových úloh na pozadí a aplikace s responzivním UI těží z asynchronního indexování. + +**Q: Je bezpečné zvýšit počet vláken na sdíleném serveru?** +A: Zvyšujte postupně a sledujte zatížení CPU; v silně sdílených prostředích udržujte počet vláken na mírné úrovni (2‑4). + +**Q: Jak ovlivňuje indexování metadat relevanci vyhledávání?** +A: Správně indexovaná metadata (autor, datum vytvoření, štítky) mohou mít ve dotazech vyšší váhu, což zlepšuje přesnost výsledků. + +## Závěr + +Využitím těchto pokročilých funkcí GroupDocs.Search pro Java **optimalizujete výkonnost vyhledávání** v různých scénářích — od rychlého nahrávání dokumentů po detailní kontrolu metadat. Experimentujte s různými konfiguracemi, sledujte využití zdrojů a přizpůsobte nastavení konkrétnímu zatížení, abyste dosáhli nejlepších výsledků. + +--- + +**Poslední aktualizace:** 2025-12-29 +**Testováno s:** GroupDocs.Search 25.4 pro Java +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/dutch/java/getting-started/_index.md b/content/dutch/java/getting-started/_index.md new file mode 100644 index 00000000..1a8bcc5b --- /dev/null +++ b/content/dutch/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: Stapsgewijze handleiding over hoe je GroupDocs.Search configureert voor + Java‑ontwikkelaars, met installatie, licenties en het maken van je eerste zoekoplossing. +title: 'Hoe GroupDocs.Search te configureren - Aan de slag‑tutorials voor Java' +type: docs +url: /nl/java/getting-started/ +weight: 1 +--- + +# Hoe GroupDocs.Search te configureren - Aan de slag tutorials voor Java + +Welkom bij de ultieme gids over **hoe GroupDocs.Search te configureren** voor Java‑toepassingen. In deze tutorial leer je de essentiële stappen om de bibliotheek te installeren, licenties in te stellen en je eerste doorzoekbare documentoplossing te bouwen. Of je nu een nieuw project start of zoeken integreert in een bestaande codebase, deze walkthrough geeft je alles wat je nodig hebt om snel aan de slag te gaan. + +## Snelle antwoorden +- **Wat is de eerste stap?** Installeer het GroupDocs.Search Java‑pakket via Maven of Gradle. +- **Heb ik een licentie nodig?** Ja – een tijdelijke licentie werkt voor ontwikkeling; een volledige licentie is vereist voor productie. +- **Welke IDE werkt het beste?** Elke Java‑IDE (IntelliJ IDEA, Eclipse, VS Code) die Maven/Gradle‑projecten ondersteunt. +- **Kan ik PDF‑ en Word‑bestanden indexeren?** Absoluut – GroupDocs.Search ondersteunt een breed scala aan documentformaten direct uit de doos. +- **Hoe lang duurt de installatie?** Meestal minder dan 15 minuten voor een nieuw project. + +## Wat betekent “how to configure GroupDocs.Search”? +GroupDocs.Search configureren betekent de bibliotheek voorbereiden om documenten te indexeren, opslaglocaties definiëren en je licentiesleutel toepassen zodat de API zonder beperkingen kan werken. Een juiste configuratie zorgt voor snelle, nauwkeurige zoekresultaten en een soepele integratie met je Java‑code. + +## Waarom GroupDocs.Search voor Java configureren? +- **Snelle implementatie** – Minimale code is nodig om te beginnen met indexeren en zoeken. +- **Schaalbare indexering** – Verwerkt grote documentcollecties zonder prestatieverlies. +- **Brede formatondersteuning** – Werkt met PDF’s, DOCX, XLSX, PPTX en vele andere bestandstypen. +- **Veilige licentiëring** – Garandeert naleving en ontgrendelt alle premium‑functies. + +## Vereisten +- Java Development Kit (JDK) 8 of hoger. +- Maven 3 of Gradle 5 voor afhankelijkheidsbeheer. +- Toegang tot een tijdelijke of volledige GroupDocs.Search‑licentiesleutel. + +## Stapsgewijze gids + +### Stap 1: Voeg GroupDocs.Search toe aan je project +Neem de GroupDocs.Search‑dependency op in je `pom.xml` (Maven) of `build.gradle` (Gradle). Hiermee wordt de bibliotheek beschikbaar voor je code. + +### Stap 2: Pas je licentie toe +Maak een `License`‑object aan en laad je tijdelijke of permanente licentiebestand. Deze stap ontgrendelt de volledige functionaliteit en verwijdert evaluatielimieten. + +### Stap 3: Initialiseert de indexinstellingen +Definieer waar de indexbestanden op schijf worden opgeslagen en configureer eventuele aangepaste indexeringsopties die je nodig hebt (bijv. hoofdlettergevoeligheid, stopwoorden). + +### Stap 4: Indexeer je documenten +Gebruik de `Indexer`‑klasse om bestanden of mappen aan de index toe te voegen. GroupDocs.Search detecteert automatisch bestandstypen en extraheert doorzoekbare tekst. + +### Stap 5: Voer een zoekopdracht uit +Maak een `SearchOptions`‑object aan, specificeer de zoekterm en voer de zoekopdracht uit. De API retourneert een lijst met overeenkomende documenten inclusief relevantiescores. + +### Stap 6: Bekijk de resultaten +Itereer over de zoekresultaten, toon bestandsnamen en markeer eventueel de gevonden termen in de UI. + +## Veelvoorkomende problemen en oplossingen +- **Licentie niet herkend** – Controleer het pad naar het licentiebestand en zorg dat het overeenkomt met de versie van GroupDocs.Search die je gebruikt. +- **Ontbrekende documentformaten** – Installeer de optionele `groupdocs-conversion`‑add‑on als je ondersteuning nodig hebt voor minder gangbare bestandstypen. +- **Prestatieknelpunten** – Gebruik incrementele indexering en configureer de indexmap op SSD‑opslag voor snellere toegang. + +## Veelgestelde vragen + +**Q: Kan ik GroupDocs.Search op een Linux‑server gebruiken?** +A: Ja, de bibliotheek is platform‑onafhankelijk en draait op elk OS dat Java ondersteunt. + +**Q: Hoe werk ik de index bij na het toevoegen van nieuwe bestanden?** +A: Roep de `Indexer` opnieuw aan met de nieuwe bestanden; de bibliotheek zal ze samenvoegen met de bestaande index. + +**Q: Is er een manier om zoekresultaten te beperken tot een specifieke map?** +A: Ja, stel `SearchOptions` in met een mapfilter voordat je de query uitvoert. + +**Q: Wat gebeurt er als de tijdelijke licentieperiode verloopt?** +A: De API blijft werken in evaluatiemodus met beperkte functionaliteit; vervang het licentiebestand door een permanente sleutel om de volledige functionaliteit te herstellen. + +**Q: Ondersteunt GroupDocs.Search fuzzy search?** +A: Absoluut — schakel fuzzy matching in de `SearchOptions` in om resultaten met kleine spelfouten op te halen. + +## Aanvullende bronnen + +### Beschikbare tutorials + +### [Deploy GroupDocs.Search voor Java: Uitgebreide Installatiehandleiding](./deploy-groupdocs-search-java-setup-guide/) +Leer hoe je GroupDocs.Search voor Java implementeert en configureert met deze stapsgewijze handleiding. Verhoog de documentindexering en zoekmogelijkheden in je projecten. + +### Handige links +- [GroupDocs.Search voor Java Documentatie](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search voor Java API‑referentie](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search voor Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Gratis ondersteuning](https://forum.groupdocs.com/) +- [Tijdelijke licentie](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/dutch/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/dutch/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..7b60ea43 --- /dev/null +++ b/content/dutch/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Leer hoe u een map in Java kunt opschonen, documentbeheer kunt automatiseren + en bestanden kunt hernoemen met GroupDocs.Search voor Java. Verhoog de efficiëntie + van uw applicaties. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Map opschonen Java – Indexering en hernoemen automatiseren +type: docs +url: /nl/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatiseer Documentindexering en Hernoemen met GroupDocs.Search + +Als je **clean directory java** moet uitvoeren terwijl je documentindexering en -hernoeming automatiseert, ben je hier op het juiste adres. Handmatig bestanden verplaatsen, verwijderen en indexen bijwerken is foutgevoelig en tijdrovend. In deze tutorial laten we zien hoe je Java het zware werk laat doen, met **GroupDocs.Search for Java** om een doorzoekbare index te maken, bestanden te hernoemen en de index automatisch gesynchroniseerd te houden. + +## Quick Answers +- **Wat betekent “clean directory java”?** Het verwijderen van alle bestanden/mappen binnen een doelmap met Java‑code. +- **Welke bibliotheek maakt de doorzoekbare index?** GroupDocs.Search for Java. +- **Hoe hernoem ik een document en houd ik de index up‑to‑date?** Gebruik `File.renameTo()` en meld de wijziging aan de index met `Notification.createRenameNotification`. +- **Kan ik bestanden kopiëren nadat de map is opgeschoond?** Ja – Java Streams kunnen bestanden kopiëren terwijl de index behouden blijft. +- **Is een licentie vereist voor productie?** Een geldige GroupDocs.Search‑licentie is nodig voor commercieel gebruik. + +## Wat is “clean directory java”? +Een map opschonen in Java betekent programmatisch elk bestand en elke submap binnen een opgegeven map verwijderen. Dit is vaak een noodzakelijke stap vóór het kopiëren van nieuwe bestanden of het herbouwen van een index, zodat verouderde data de zoekresultaten niet beïnvloeden. + +## Waarom documentindexering en -hernoeming automatiseren? +- **Documentbeheer‑automatisering** vermindert handmatige inspanning en elimineert menselijke fouten. +- Een **create searchable index** stap stelt je in staat om elk document direct op inhoud te vinden. +- Het hernoemen van bestanden zonder de index bij te werken zou de zoeknauwkeurigheid breken; automatisering houdt alles consistent. + +## Prerequisites + +- **GroupDocs.Search for Java** (Versie 25.4 of later) +- JDK 8 + en een IDE zoals IntelliJ IDEA of Eclipse +- Basiskennis van Java, met name bestand‑I/O + +## Setting Up GroupDocs.Search for Java + +### Maven Dependency +Voeg de repository en afhankelijkheid toe aan je `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Download anders de nieuwste versie via [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Vraag een gratis proefversie, een tijdelijke evaluatielicentie, of koop een volledige licentie voor productiegebruik. + +### Basic Initialization +Maak een `Index`‑instantie die de doorzoekbare data zal bevatten: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementation Guide + +### 1. Add Documents to Index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explanation*: +- `indexFolder` – waar de indexbestanden worden opgeslagen. +- `documentFolder` – de bronmap die de bestanden bevat die je doorzoekbaar wilt maken. + +### 2. Rename a Document and Notify the Index + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explanation*: +- Java’s `File.renameTo()` voert de fysieke hernoeming uit. +- `Notification.createRenameNotification()` vertelt GroupDocs.Search dat de bestandsnaam is gewijzigd, waardoor de index accuraat blijft. + +## Clean Directory Java – Directory Cleaning and File Copying + +Een map netjes houden vóór een bulk‑kopie voorkomt dubbele of verweesde bestanden. Hieronder twee herbruikbare snippets. + +### Step 1: Delete Folder Contents (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explanation*: +- `Files.walk()` doorloopt elk bestand en elke submap. +- Sorteren in omgekeerde volgorde zorgt ervoor dat bestanden worden verwijderd vóór hun bovenliggende mappen, waardoor **delete folder contents** effectief wordt uitgevoerd. + +### Step 2: Copy Files (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explanation*: +- De stream filtert alleen reguliere bestanden en kopieert elk naar de doelmap, waarbij bestaande bestanden indien nodig worden overschreven. + +## Practical Applications + +- **Enterprise Document Management** – Automatiseer indexering voor duizenden contracten en houd bestandsnamen gesynchroniseerd. +- **Legal Firms** – Hernoem snel dossiers terwijl de doorzoekbare inhoud behouden blijft. +- **Content Management Systems** – Gebruik het clean‑directory‑patroon om mediamappen te vernieuwen zonder handmatige opschoning. + +## Performance Considerations + +- **Index Size** – Compacteer de index periodiek als deze groot wordt. +- **Memory Usage** – Verwerk bestanden in batches om `OutOfMemoryError` te voorkomen. +- **Concurrency** – Overweeg voor bulk‑operaties Java’s `ExecutorService` om opschoning en kopiëren parallel uit te voeren. + +## Common Issues & Tips + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Frequently Asked Questions + +**Q: Kan ik een map opschonen die sub‑mappen bevat?** +A: Ja. De `Files.walk()`‑aanpak verwijdert recursief alle geneste bestanden en mappen. + +**Q: Moet ik de hele index opnieuw opbouwen na elke hernoeming?** +A: Nee. Het verzenden van een rename‑notification en het aanroepen van `index.update()` is voldoende. + +**Q: Hoe groot mag een map zijn voordat ik prestatie‑limieten bereik?** +A: Dat hangt af van het JVM‑geheugen; verwerken in kleinere batches of het gebruik van streams helpt bij grote datasets. + +**Q: Is GroupDocs.Search gratis voor ontwikkeling?** +A: Een gratis proefversie is beschikbaar, maar een betaalde licentie is vereist voor productiegebruik. + +**Q: Kan ik deze aanpak gebruiken met andere bestandstypen (bijv. PDFs, DOCX)?** +A: Absoluut. GroupDocs.Search ondersteunt vele formaten; voeg gewoon de map met die bestanden toe aan de index. + +## Conclusion + +Je hebt nu een complete, productie‑klare oplossing voor **clean directory java**, het toevoegen van documenten aan een doorzoekbare index, het hernoemen van bestanden en het gesynchroniseerd houden van alles met GroupDocs.Search. Pas deze patronen toe om je documentbeheer‑workflow te automatiseren en te profiteren van snellere, betrouwbaardere zoekervaringen. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/dutch/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/dutch/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..186de5d4 --- /dev/null +++ b/content/dutch/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Leer hoe u documentwachtwoorden in Java beheert met GroupDocs.Search, + doorzoekbare indexen maakt en efficiënt zoekt in meerdere documenten. +keywords: +- manage document passwords java +- search across multiple documents +title: Beheer documentwachtwoorden in Java met GroupDocs.Search +type: docs +url: /nl/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Manage Document Passwords Java using GroupDocs.Search + +In moderne bedrijfsapplicaties is **manage document passwords Java** een cruciale stap om gevoelige bestanden veilig te houden terwijl snelle, betrouwbare zoekfunctionaliteit behouden blijft. In deze gids laten we zien hoe je indexen maakt en beheert met GroupDocs.Search, wachtwoorden veilig opslaat in het indexwoordenboek, en vervolgens **search across multiple documents** met gemak. Of je nu een document‑beheersysteem bouwt of zoekfunctionaliteit toevoegt aan een bestaande Java‑applicatie, de onderstaande stappen helpen je snel van start. + +## Quick Answers +- **What does “manage document passwords Java” mean?** Het verwijst naar het opslaan en ophalen van wachtwoorden voor beveiligde bestanden direct in de zoekindex. +- **Can I index password‑protected files?** Ja—voeg de wachtwoorden toe aan het indexwoordenboek voordat je indexeert. +- **How many documents can I search at once?** GroupDocs.Search kan **search across multiple documents** in één enkele query. +- **Do I need a license for production?** Een licentie is vereist voor productiegebruik; een gratis proefversie is beschikbaar voor evaluatie. +- **What Java version is required?** JDK 8 of hoger. + +## What is “manage document passwords Java”? +Het opslaan van documentwachtwoorden binnen de zoekindex laat de engine beveiligde bestanden automatisch openen tijdens het indexeren en zoeken, waardoor handmatige invoer van wachtwoorden elke keer overbodig wordt. + +## Why use GroupDocs.Search for this task? +- **Built‑in password dictionary** – houd wachtwoorden gekoppeld aan bestandspaden. +- **High‑performance indexing** – verwerk duizenden bestanden snel. +- **Rich query language** – ondersteunt complexe zoekopdrachten over vele documenttypen. + +## Prerequisites +- **JDK 8+** geïnstalleerd. +- **Maven** voor dependency‑beheer. +- Basiskennis van Java (bestandsverwerking, klassen). + +## Setting Up GroupDocs.Search for Java + +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +You can also download the library directly from the official release page: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Initialize the Index + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – veilige, doorzoekbare archieven. +- **Content Management Platforms** – snelle terugwinning van beveiligde assets. +- **Legal Document Repositories** – vertrouwelijkheid behouden terwijl volledige‑tekst zoeken mogelijk is. + +## Performance Considerations +- **Parallel Indexing** – gebruik meerdere threads voor grote batches. +- **Memory Monitoring** – houd de JVM‑heap in de gaten tijdens massale imports. +- **Regular Index Maintenance** – her‑indexeer wanneer bestanden veranderen of wachtwoorden worden bijgewerkt. + +## Conclusion +Je weet nu hoe je **manage document passwords Java** kunt uitvoeren met GroupDocs.Search, robuuste indexen kunt maken en krachtige **search across multiple documents** kunt uitvoeren. Door deze stappen in je applicatie te integreren, lever je veilige, snelle en schaalbare zoekervaringen. + +**Next Steps** +- Probeer geavanceerde query‑operatoren (wildcards, fuzzy search). +- Verken incrementeel indexeren voor realtime updates. +- Combineer met andere GroupDocs‑producten voor PDF‑conversie of annotatie. + +## Frequently Asked Questions + +**Q: Can I index large volumes of documents?** +A: Ja, GroupDocs.Search is ontworpen om uitgebreide collecties efficiënt te verwerken. + +**Q: Is it possible to update an existing index with new documents?** +A: Absoluut! Je kunt documenten toevoegen of verwijderen uit je index wanneer dat nodig is. + +**Q: How do I ensure the security of my indexed data?** +A: Gebruik het document‑password dictionary en sla de index op in een beveiligde map. + +**Q: Can GroupDocs.Search handle different file formats?** +A: Ja, het ondersteunt PDF’s, Word‑bestanden, Excel‑bladen en vele andere gangbare formaten. + +**Q: What if I encounter performance issues during indexing?** +A: Overweeg parallel processing in te schakelen, de heap‑grootte te vergroten of de indexinstellingen te optimaliseren. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/dutch/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/dutch/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..1493689e --- /dev/null +++ b/content/dutch/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,251 @@ +--- +date: '2025-12-29' +description: Leer hoe je Java-documenten indexeert en een zoekindex maakt met GroupDocs.Search + voor Java. Deze gids behandelt installatie, indexering, zoeken en het efficiënt + beheren van documenten. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Hoe Java-documenten indexeren met GroupDocs.Search – Efficiënt zoeken +type: docs +url: /nl/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Hoe Java-documenten te indexeren met GroupDocs.Search – Efficiënt zoeken + +## Inleiding + +Bent u overweldigd door een enorme hoeveelheid documenten en vraagt u zich af **hoe java**-bestanden snel te indexeren? Veel bedrijven en individuen staan dagelijks voor deze uitdaging. **GroupDocs.Search for Java** biedt een efficiënte oplossing om documentzoekopdrachten te stroomlijnen, waardoor het proces sneller en beter beheersbaar wordt. + +In deze tutorial begeleiden we u bij het gebruik van GroupDocs.Search for Java om een geïndexeerde repository van uw documenten te maken. U leert hoe u documenten uit een bestandssysteem laadt, zoekopdrachten uitvoert, verwijderingen beheert en geïndexeerde gegevens efficiënt en schaalbaar ophaalt. + +**Wat u zult leren:** +- Het opzetten en configureren van GroupDocs.Search for Java. +- **Een zoekindex maken** en documenten indexeren vanuit streams. +- Documenten laden vanuit het bestandssysteem. +- **Zoekopdrachten op trefwoorden uitvoeren** op uw index. +- **Hoe indexvermeldingen** te verwijderen voor specifieke documenten. +- Geïndexeerde documenten ophalen na verwijderingen. + +Klaar om uw manier van documentzoekopdrachten te revolutioneren? Laten we beginnen met de vereisten! + +## Snelle antwoorden +- **Wat is het primaire doel?** Java-documenten efficiënt indexeren en doorzoeken. +- **Welke bibliotheek is vereist?** GroupDocs.Search for Java (v25.4+). +- **Heb ik een licentie nodig?** Een gratis proefversie of tijdelijke licentie is beschikbaar; een permanente licentie is vereist voor productie. +- **Kan ik documenten uit de index verwijderen?** Ja, met de `delete`-methode en document‑sleutels. +- **Is Apache Commons IO verplicht?** Het wordt aanbevolen voor hulpprogramma's voor bestandsafhandeling. + +## Wat betekent “how to index java”? + +Het indexeren van Java-documenten betekent het creëren van een doorzoekbare datastructuur (een index) die de inhoud van documenten koppelt aan doorzoekbare termen, waardoor snelle terugwinning van relevante bestanden op basis van trefwoord‑queries mogelijk is. + +## Waarom GroupDocs.Search for Java gebruiken? +- **Snelheid:** Geoptimaliseerde algoritmen leveren snelle query‑resultaten, zelfs bij grote collecties. +- **Schaalbaarheid:** Verwerkt duizenden documenten zonder prestatieverlies. +- **Flexibiliteit:** Ondersteunt verschillende bestandsformaten en biedt lazy loading voor grote bestanden. +- **Gemak van integratie:** Eenvoudige Maven‑configuratie en een duidelijke API. + +## Voorvereisten + +Voordat we beginnen, zorg ervoor dat u het volgende heeft: + +### Vereiste bibliotheken en afhankelijkheden +- **GroupDocs.Search for Java**: Zorg dat versie 25.4 of later is geïnstalleerd. +- **Apache Commons IO**: Nodig voor hulpprogramma's voor bestandsafhandeling. + +### Vereisten voor omgeving configuratie +- Java Development Kit (JDK) 8 of hoger. +- Integrated Development Environment (IDE) zoals IntelliJ IDEA of Eclipse. + +### Kennisvereisten +- Basiskennis van Java‑programmeren en object‑georiënteerde concepten. +- Bekendheid met Maven voor afhankelijkheidsbeheer is nuttig maar niet verplicht. + +## GroupDocs.Search for Java instellen + +Het instellen van uw projectomgeving met GroupDocs.Search omvat de volgende stappen met Maven: + +**Maven‑configuratie:** +Voeg de volgende repository en afhankelijkheid toe aan uw `pom.xml`‑bestand: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Directe download:** +Download de nieuwste versie rechtstreeks van [GroupDocs.Search voor Java releases](https://releases.groupdocs.com/search/java/). + +### Stappen voor licentie‑acquisitie +- **Gratis proefversie:** Begin met een gratis proefversie om de mogelijkheden te testen. +- **Tijdelijke licentie:** Vraag een tijdelijke licentie aan om alle functies zonder beperkingen te verkennen. +- **Aankoop:** Overweeg een aankoop als het aan uw behoeften voldoet. + +**Basisinitialisatie en configuratie:** + +Zodra uw omgeving klaar is, initialiseert u GroupDocs.Search als volgt: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Hoe Java-documenten te indexeren met GroupDocs.Search + +### Documenten maken en indexeren + +**Overzicht:** Leer hoe u een index maakt in een opgegeven map en documenten toevoegt vanuit streams, waardoor het **maak zoekindex**‑proces wordt gestroomlijnd. + +#### Stap 1: Maak een index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameters:** De eerste parameter is het mappad voor het opslaan van indexen. De tweede boolean schakelt automatische bijwerking van de index in als deze bestaat. + +#### Stap 2: Laad en voeg documenten toe vanuit stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Uitleg:** Hier maakt u een `DocumentLoader` aan om het bestand te lezen en voor te bereiden op indexering. De `createLazy`‑methode wordt gebruikt om grote bestanden efficiënt te verwerken. + +### Documenten laden vanuit bestandssysteem + +**Overzicht:** Implementeer een aangepaste loader die documenten direct uit uw bestandssysteem leest met behulp van Apache Commons IO‑hulpmiddelen. + +#### Stap 1: Definieer Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Details:** Deze klasse leest het bestand in een byte‑array en maakt een `Document`‑object ervan. + +### Zoekopdracht op trefwoorden uitvoeren in een index + +**Overzicht:** Voer zoekbewerkingen uit op uw geïndexeerde documenten om snel relevante informatie te vinden. + +#### Stap 1: Zoekopdracht uitvoeren +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Uitleg:** Gebruik de `search`‑methode met een eenvoudige tekstquery om resultaten uit uw geïndexeerde gegevens te krijgen. Deze aanpak is efficiënt voor **java document search**‑scenario's. + +### Hoe indexvermeldingen te verwijderen + +**Overzicht:** Beheer uw index door specifieke documenten te verwijderen met hun sleutels. + +#### Stap 1: Document verwijderen +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameters:** Geef de array met document‑sleutels door die u uit de index wilt verwijderen. De `UpdateOptions` biedt flexibele verwijderingsstrategieën. + +### Geïndexeerde documenten ophalen na verwijdering + +**Overzicht:** Na het verwijderen van documenten, haalt u een lijst op van de resterende geïndexeerde bestanden om de gegevensintegriteit te waarborgen. + +#### Stap 1: Overgebleven documenten ophalen +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Uitleg:** Deze stap helpt de huidige staat van uw index na eventuele verwijderingen te verifiëren. + +## Praktische toepassingen + +GroupDocs.Search for Java is veelzijdig en biedt tal van gebruikssituaties, zoals: + +1. **Enterprise Document Management:** Zoek snel door bedrijfsdocumenten om de productiviteit te verhogen. +2. **Legal Document Analysis:** Doorzoek efficiënt dossiers en juridische teksten om relevante precedenten te vinden. +3. **Library Cataloging Systems:** Indexeer en beheer grote collecties boeken en manuscripten voor eenvoudigere toegang. + +## Prestatie‑overwegingen + +Voor optimale prestaties: + +- **Indexoptimalisatie:** Werk uw index regelmatig bij om recente wijzigingen in documenten weer te geven. +- **Geheugenbeheer:** Gebruik Java's garbage collection effectief door resource‑intensieve bewerkingen te beheren. +- **Schaalbaarheid:** Zorg ervoor dat uw indexeringsstrategie grote hoeveelheden data aankan zonder prestatieverlies. + +## Veelvoorkomende problemen en oplossingen + +| Probleem | Oorzaak | Oplossing | +|----------|----------|-----------| +| **Geen resultaten teruggekregen** | Zoektermen niet geïndexeerd of stopwoorden gefilterd | Controleer `IndexingOptions` en pas de stopwoorden‑lijst aan | +| **Out‑of‑memory fouten** | Het laden van zeer grote bestanden zonder lazy loading | Gebruik `Document.createLazy` of vergroot de JVM‑heap‑grootte | +| **Verwijderde documenten verschijnen nog steeds** | Index niet ververst na verwijdering | Roep `index.optimize()` aan of heropen de index | + +## Veelgestelde vragen + +**V: Kan ik PDFs, DOCX en PPTX samen indexeren?** +A: Ja, GroupDocs.Search ondersteunt een breed scala aan formaten direct uit de doos. + +**V: Hoe werkt “how to delete index” onder de motorkap?** +A: De `delete`‑methode verwijdert vermeldingen op basis van document‑sleutels en werkt interne posting‑lijsten bij om de index consistent te houden. + +**V: Is er een manier om de indexgrootte te monitoren?** +A: Gebruik `index.getStatistics()` om informatie over het aantal documenten en de opslaggrootte op te halen. + +**V: Moet ik de volledige index na elke verwijdering opnieuw opbouwen?** +A: Nee, de `delete`‑bewerking werkt de index incrementeel bij, waardoor bestaande gegevens behouden blijven. + +**V: Wat als ik alle documenten opnieuw moet indexeren na een schema‑wijziging?** +A: Maak een nieuwe `Index`‑instantie met een ander mappad en voeg alle documenten opnieuw toe. + +## Conclusie + +Tegenwoordig zou u een goed begrip moeten hebben van **hoe java**‑documenten te indexeren en snelle zoekopdrachten uit te voeren met GroupDocs.Search for Java. Deze krachtige bibliotheek kan de manier waarop u informatie beheert en ophaalt uit grote documentcollecties transformeren, waardoor het een onmisbare tool is voor elke organisatie. + +**Volgende stappen:** +- Experimenteer met verschillende documenttypen en complexe queries. +- Ontdek geavanceerde functies zoals faceted search, metadata‑indexering en aangepaste analyzers. + +Klaar om uw indexeringsreis te beginnen? Implementeer deze technieken vandaag nog en ervaar snellere, nauwkeurigere documentophaling! + +--- + +**Laatst bijgewerkt:** 2025-12-29 +**Getest met:** GroupDocs.Search Java 25.4 +**Auteur:** GroupDocs \ No newline at end of file diff --git a/content/dutch/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/dutch/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..5d523f74 --- /dev/null +++ b/content/dutch/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Leer hoe u de zoekprestaties kunt optimaliseren met behulp van geavanceerde + indexeringsfuncties van GroupDocs.Search voor Java, inclusief annulering, asynchrone + bewerkingen, multithreading en metadata‑aanpassing. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimaliseer de zoekprestaties met geavanceerde indexeringstechnieken in GroupDocs.Search + voor Java +type: docs +url: /nl/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimaliseer zoekprestaties met geavanceerde indexeringstechnieken in GroupDocs.Search voor Java + +In de hedendaagse, snel veranderende digitale omgeving is **het optimaliseren van zoekprestaties** essentieel om gebruikers direct resultaten te leveren. Of je nu een aangepaste zoekmachine bouwt of een bestaand documentbeheersysteem verbetert, de juiste indexeringsstrategie kan de latentie en het resourceverbruik drastisch verlagen. In deze tutorial lopen we de krachtigste functies van GroupDocs.Search voor Java door—cancellation, asynchronous indexing, multi‑threading en metadata customization—zodat je **add documents index** sneller en efficiënter kunt uitvoeren. + +**Wat je zult leren** + +- Hoe je een indexeringsoperatie annuleert na een opgegeven tijd +- Asynchrone indexeringsoperaties uitvoeren en statuswijzigingen afhandelen +- Multi‑threading configureren voor snellere indexering +- Metadata‑indexeringsopties aanpassen + +Laten we ervoor zorgen dat je alles hebt wat je nodig hebt voordat we in de code duiken. + +## Vereisten + +- **GroupDocs.Search Library** – versie 25.4 of later. +- **Java Development Environment** – JDK 8 of hoger wordt aanbevolen. +- Basiskennis van Java en het concept van indexering. + +### GroupDocs.Search voor Java instellen + +#### Maven-installatie + +Voeg de repository en afhankelijkheid toe aan je `pom.xml`‑bestand: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Directe download + +Of download de nieuwste JAR van [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Begin met een gratis proefversie of vraag een tijdelijke licentie aan om de volledige functionaliteit te ontgrendelen. + +### Basisinitialisatie en configuratie + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Snelle antwoorden +- **What does cancellation do?** Stopt de indexering na een ingestelde tijd om resources vrij te maken. +- **Can I index documents asynchronously?** Ja – stel `options.setAsync(true)` in. +- **How many threads can I use?** Elk positief geheel getal; typische waarden zijn 2‑4 voor de meeste servers. +- **Is metadata indexing optional?** Absoluut – je kunt het per veld in- of uitschakelen en fijn afstellen. +- **Do I need a license for these features?** Een proefversie werkt voor testen; een volledige licentie is vereist voor productie. + +## Wat betekent “Optimize Search Performance” in deze context? + +Het optimaliseren van zoekprestaties betekent het configureren van het indexeringsproces zodat het de juiste hoeveelheid CPU, geheugen en tijd verbruikt, terwijl het direct de meest relevante resultaten levert. Door cancellation, async execution, threading en metadata handling te beheersen, beïnvloed je direct hoe snel de engine **add documents index** kan uitvoeren en op queries kan reageren. + +## Waarom geavanceerde indexeringsfuncties gebruiken? + +- **Reduced latency** – Asynchrone en multi‑threaded indexering houdt je applicatie responsief. +- **Better resource management** – Cancellation voorkomt uit de hand lopende processen. +- **Tailored search relevance** – Metadata‑opties laten je de belangrijkste informatie naar voren halen. + +## Implementatiegids + +### Annulerings‑eigenschap + +**Overzicht** – Annuleer indexering na een opgegeven duur om overmatig resource‑verbruik te voorkomen. + +#### Stap 1: De omgeving instellen + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Stap 2: Indexeringsopties maken met annulering + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` activeert de functie. +- `cancelAfter(int milliseconds)` definieert de timeout (3 seconden in dit voorbeeld). + +### Asynchrone eigenschap + +**Overzicht** – Voer indexering uit op een achtergrondthread en luister naar statuswijzigingen. + +#### Stap 1: De omgeving instellen + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Stap 2: Abonneren op StatusChanged‑gebeurtenis + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Stap 3: Asynchrone opties configureren + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Thread‑eigenschap + +**Overzicht** – Versnel indexering door meerdere CPU‑kernen te benutten. + +#### Stap 1: De omgeving instellen + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Stap 2: Multi‑threading configureren + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata‑indexering‑opties eigenschap + +**Overzicht** – Fijn afstemmen welke documentmetadata wordt geïndexeerd en hoe deze wordt opgeslagen. + +#### Stap 1: De omgeving instellen + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Stap 2: Metadata‑opties configureren + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Praktische toepassingen + +1. **Document Management Systems** – Gebruik asynchrone indexering om de UI responsief te houden terwijl grote batches op de achtergrond worden verwerkt. +2. **Content Search Engines** – Pas cancellation toe om te voorkomen dat langdurige taken serverresources opslokken tijdens piekverkeer. +3. **Large‑Scale Ingestion Pipelines** – Benut multi‑threading om **add documents index** op schaal uit te voeren, waardoor de verwerkingstijd drastisch wordt verkort. + +## Prestatie‑overwegingen + +- **Thread Management** – Houd CPU‑gebruik in de gaten; te veel threads kunnen overhead door context‑switches veroorzaken. +- **Memory Footprint** – Metadata‑limieten (bijv. `setMaxBytesToIndexField`) helpen het geheugenverbruik voorspelbaar te houden. +- **Garbage Collection** – Gebruik geschikte JVM‑flags (`-Xmx`, `-XX:+UseG1GC`) bij het indexeren van enorme corpora. + +## Veelvoorkomende problemen en oplossingen + +| Symptoom | Waarschijnlijke oorzaak | Oplossing | +|----------|--------------------------|-----------| +| Indexering eindigt nooit | Cancellation te laag ingesteld | Verhoog de `cancelAfter`‑waarde of verwijder cancellation voor lange taken | +| Geen statusupdates in async‑modus | Event‑handler niet correct gekoppeld | Zorg dat `index.getEvents().StatusChanged.add(...)` wordt aangeroepen vóór `index.add` | +| Out‑of‑memory‑fouten | Te veel threads of hoge metadata‑limieten | Verminder `options.setThreads` en verlaag de limieten voor metadata‑velden | +| Metadata ontbreekt in resultaten | Metadata‑indexering uitgeschakeld | Controleer of `options.getMetadataIndexingOptions()` is geconfigureerd en niet op negeren staat | + +## Veelgestelde vragen + +**Q: Hoe verkrijg ik een tijdelijke licentie voor GroupDocs.Search?** +A: Bezoek de [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q: Kan ik een indexeringsoperatie halverwege annuleren?** +A: Ja – gebruik de annulerings‑eigenschap met `cancelAfter()` of roep programmatically `Cancellation.cancel()` aan. + +**Q: Wat zijn enkele use cases voor asynchrone indexering?** +A: Real‑time documentretrieval, achtergrond‑batchverwerking en UI‑responsieve applicaties profiteren van async‑indexering. + +**Q: Is het veilig om het aantal threads op een gedeelde server te verhogen?** +A: Verhoog geleidelijk en houd de CPU‑belasting in de gaten; op sterk gedeelde omgevingen houd je het thread‑aantal bescheiden (2‑4). + +**Q: Hoe beïnvloedt metadata‑indexering de zoekrelevantie?** +A: Correct geïndexeerde metadata (auteur, aanmaakdatum, tags) kan hoger worden gewogen in queries, waardoor de nauwkeurigheid van resultaten verbetert. + +## Conclusie + +Door deze geavanceerde functies van GroupDocs.Search voor Java te omarmen, **optimaliseer je zoekprestaties** in diverse scenario's—van snelle document‑ingestie tot fijnmazige metadata‑controle. Experimenteer met verschillende configuraties, houd het resource‑gebruik in de gaten en pas de instellingen aan op jouw specifieke workload om de beste resultaten te behalen. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/english/java/getting-started/_index.md b/content/english/java/getting-started/_index.md index 25db3420..40e82d95 100644 --- a/content/english/java/getting-started/_index.md +++ b/content/english/java/getting-started/_index.md @@ -1,24 +1,98 @@ --- -title: "GroupDocs.Search Getting Started Tutorials for Java Developers" -description: "Step-by-step tutorials for GroupDocs.Search installation, licensing, setup, and creating your first search solution in Java applications." +title: "How to Configure GroupDocs.Search - Getting Started Tutorials for Java" +description: "Step-by-step guide on how to configure GroupDocs.Search for Java developers, covering installation, licensing, and creating your first search solution." weight: 1 url: "/java/getting-started/" type: docs +date: 2025-12-29 --- -# GroupDocs.Search Getting Started Tutorials for Java Developers -Begin your journey with these essential GroupDocs.Search tutorials that walk you through installation, licensing configuration, and creating your first document search applications in Java. Our beginner-friendly guides demonstrate how to set up your development environment, initialize the GroupDocs.Search library, and perform fundamental search operations. Follow these tutorials to quickly master the basics and prepare for more advanced search functionality in your Java applications. +# How to Configure GroupDocs.Search - Getting Started Tutorials for Java -## Available Tutorials +Welcome to the ultimate guide on **how to configure GroupDocs.Search** for Java applications. In this tutorial you’ll learn the essential steps to install the library, set up licensing, and build your first searchable document solution. Whether you’re starting a new project or integrating search into an existing codebase, this walkthrough gives you everything you need to get up and running quickly. -### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) -Learn how to deploy and configure GroupDocs.Search for Java with this step-by-step guide. Enhance document indexing and search capabilities in your projects. +## Quick Answers +- **What is the first step?** Install the GroupDocs.Search Java package via Maven or Gradle. +- **Do I need a license?** Yes—a temporary license works for development; a full license is required for production. +- **Which IDE works best?** Any Java IDE (IntelliJ IDEA, Eclipse, VS Code) that supports Maven/Gradle projects. +- **Can I index PDFs and Word files?** Absolutely—GroupDocs.Search supports a wide range of document formats out of the box. +- **How long does setup take?** Typically under 15 minutes for a fresh project. + +## What is “how to configure GroupDocs.Search”? +Configuring GroupDocs.Search means preparing the library to index documents, defining storage locations, and applying your license key so the API can operate without restrictions. Proper configuration ensures fast, accurate search results and smooth integration with your Java code. + +## Why configure GroupDocs.Search for Java? +- **Rapid implementation** – Minimal code is required to start indexing and searching. +- **Scalable indexing** – Handles large document collections without performance loss. +- **Broad format support** – Works with PDFs, DOCX, XLSX, PPTX, and many other file types. +- **Secure licensing** – Guarantees compliance and unlocks all premium features. + +## Prerequisites +- Java Development Kit (JDK) 8 or higher. +- Maven 3 or Gradle 5 for dependency management. +- Access to a temporary or full GroupDocs.Search license key. + +## Step‑by‑Step Guide + +### Step 1: Add GroupDocs.Search to Your Project +Include the GroupDocs.Search dependency in your `pom.xml` (Maven) or `build.gradle` (Gradle). This makes the library available for your code. + +### Step 2: Apply Your License +Create a `License` object and load your temporary or permanent license file. This step unlocks full functionality and removes evaluation limits. + +### Step 3: Initialize the Index Settings +Define where the index files will be stored on disk and configure any custom indexing options you need (e.g., case sensitivity, stop words). + +### Step 4: Index Your Documents +Use the `Indexer` class to add files or folders to the index. GroupDocs.Search automatically detects file types and extracts searchable text. + +### Step 5: Perform a Search Query +Create a `SearchOptions` object, specify the query string, and execute the search. The API returns a list of matching documents with relevance scores. + +### Step 6: Review Results +Iterate over the search results, display file names, and optionally highlight matching terms in the UI. + +## Common Issues and Solutions +- **License not recognized** – Verify the license file path and ensure it matches the version of GroupDocs.Search you’re using. +- **Missing document formats** – Install the optional `groupdocs-conversion` add‑on if you need support for less common file types. +- **Performance bottlenecks** – Use incremental indexing and configure the index folder on SSD storage for faster access. + +## Frequently Asked Questions + +**Q: Can I use GroupDocs.Search on a Linux server?** +A: Yes, the library is platform‑independent and runs on any OS that supports Java. + +**Q: How do I update the index after adding new files?** +A: Call the `Indexer` again with the new files; the library will merge them into the existing index. + +**Q: Is there a way to limit search results to a specific folder?** +A: Yes, set the `SearchOptions` to include a folder filter before executing the query. + +**Q: What happens if I exceed the temporary license period?** +A: The API will continue to work in evaluation mode with limited features; replace the license file with a permanent key to restore full functionality. + +**Q: Does GroupDocs.Search support fuzzy search?** +A: Absolutely—enable fuzzy matching in the `SearchOptions` to retrieve results with minor spelling variations. ## Additional Resources +### Available Tutorials + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Learn how to deploy and configure GroupDocs.Search for Java with this step-by-step guide. Enhance document indexing and search capabilities in your projects. + +### Helpful Links - [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) - [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) - [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) - [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) - [Free Support](https://forum.groupdocs.com/) - [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/english/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/english/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md index 55d3732f..9b30f874 100644 --- a/content/english/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md +++ b/content/english/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -1,7 +1,7 @@ --- -title: "Automate Java Document Indexing and Renaming Using GroupDocs.Search" -description: "Streamline your document management workflow by automating indexing and renaming with GroupDocs.Search for Java. Master efficient document handling in your applications." -date: "2025-05-20" +title: "Clean Directory Java – Automate Indexing & Renaming" +description: "Learn how to clean directory java, automate document management automation, and rename files using GroupDocs.Search for Java. Boost efficiency in your applications." +date: "2025-12-29" weight: 1 url: "/java/indexing/automate-document-indexing-groupdocs-search-java/" keywords: @@ -10,41 +10,37 @@ keywords: - automate document management type: docs --- -# Automate Java Document Indexing and Renaming Using GroupDocs.Search -## Introduction +# Clean Directory Java – Automate Document Indexing and Renaming Using GroupDocs.Search -Tired of manually managing document indexes and updates? Automating these tasks can significantly streamline your workflow, saving time and reducing errors. This tutorial guides you through implementing an efficient document indexing and renaming system using the powerful **GroupDocs.Search for Java** library. +If you need to **clean directory java** while automating document indexing and renaming, you’ve come to the right place. Manually handling file moves, deletions, and index updates is error‑prone and time‑consuming. In this tutorial we’ll show you how to let Java do the heavy lifting, using **GroupDocs.Search for Java** to create a searchable index, rename files, and keep the index in sync automatically. -In this guide, we'll cover: -- Creating a searchable index of documents -- Renaming documents within the indexed folder -- Notifying and updating the index accordingly +## Quick Answers +- **What does “clean directory java” mean?** Deleting all files/folders inside a target directory using Java code. +- **Which library creates the searchable index?** GroupDocs.Search for Java. +- **How do I rename a document and keep the index updated?** Use `File.renameTo()` then notify the index with `Notification.createRenameNotification`. +- **Can I copy files after cleaning the folder?** Yes – Java Streams can copy files while preserving the index. +- **Is a license required for production?** A valid GroupDocs.Search license is needed for commercial use. -By the end, you’ll understand how to leverage GroupDocs.Search for seamless document management in your Java applications. Let's get started. +## What is “clean directory java”? +Cleaning a directory in Java means programmatically removing every file and sub‑folder inside a specified folder. This is often a prerequisite step before copying fresh files or rebuilding an index, ensuring that stale data does not interfere with search results. -## Prerequisites - -Before we start coding, ensure you have: +## Why automate document indexing and renaming? +- **Document management automation** reduces manual effort and eliminates human error. +- A **create searchable index** step lets you instantly locate any document by content. +- Renaming files without updating the index would break search accuracy; automation keeps everything consistent. -### Required Libraries: -- **GroupDocs.Search for Java** (Version 25.4 or later) - -### Environment Setup Requirements: -- JDK installed on your system -- An IDE like IntelliJ IDEA or Eclipse +## Prerequisites -### Knowledge Prerequisites: -- Basic understanding of Java programming -- Familiarity with file handling in Java +- **GroupDocs.Search for Java** (Version 25.4 or later) +- JDK 8 + and an IDE such as IntelliJ IDEA or Eclipse +- Basic Java knowledge, especially file I/O ## Setting Up GroupDocs.Search for Java -GroupDocs.Search is a robust library that simplifies document indexing and searching. Let's get it set up: +### Maven Dependency +Add the repository and dependency to your `pom.xml`: -**Maven Setup** - -Add the following to your `pom.xml` to include GroupDocs.Search: ```xml @@ -62,17 +58,16 @@ Add the following to your `pom.xml` to include GroupDocs.Search: ``` -**Direct Download** + +### Direct Download Alternatively, download the latest version from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). -### License Acquisition -To use GroupDocs.Search fully: -1. **Free Trial**: Start with a free trial to explore features. -2. **Temporary License**: Obtain a temporary license if you need more time to evaluate. -3. **Purchase**: Buy a full license for extended and commercial use. +### License +Obtain a free trial, a temporary evaluation license, or purchase a full license for production use. ### Basic Initialization -Once the library is set up, initialize it in your Java project: +Create an `Index` instance that will hold the searchable data: + ```java import com.groupdocs.search.Index; @@ -83,21 +78,11 @@ public class Main { } } ``` -This sets up a basic environment, ready for indexing and searching. ## Implementation Guide -We’ll walk through implementing document indexing and renaming features using GroupDocs.Search. Let’s break it down by feature. +### 1. Add Documents to Index (create searchable index) -### Document Indexing and Renaming - -**Overview** - -This section covers creating an index, adding documents, renaming a document within the indexed folder, and updating the index accordingly. - -#### Step 1: Create and Add Documents to Index - -Create an index at a specified location and add documents from your directory: ```java import com.groupdocs.search.Index; @@ -114,13 +99,13 @@ public class DocumentIndexingAndRenaming { } } ``` -**Explanation**: -- `indexFolder`: Location where your index will be stored. -- `documentFolder`: Directory containing documents to be indexed. -#### Step 2: Rename a Document +*Explanation*: +- `indexFolder` – where the index files are stored. +- `documentFolder` – the source folder that contains the files you want to make searchable. + +### 2. Rename a Document and Notify the Index -Use Java’s File class to rename a document and notify the index: ```java import com.groupdocs.search.Notification; @@ -144,19 +129,17 @@ public class DocumentIndexingAndRenaming { } } ``` -**Explanation**: -- Renaming is handled by Java’s `File.renameTo()` method. -- Notify the index about renaming with a notification object to keep your search data consistent. -### Directory Cleaning and File Copying +*Explanation*: +- Java’s `File.renameTo()` performs the physical rename. +- `Notification.createRenameNotification()` tells GroupDocs.Search that the file name changed, keeping the index accurate. -**Overview** +## Clean Directory Java – Directory Cleaning and File Copying -Learn how to clean directories by removing contents and copying files from one directory to another, essential for maintaining an organized document structure. +Keeping a folder tidy before a bulk copy prevents duplicate or orphaned files. Below are two reusable snippets. -#### Step 1: Clean Target Directory +### Step 1: Delete Folder Contents (delete folder contents) -Use Java’s `Files.walk()` method to delete all contents: ```java import java.io.File; import java.nio.file.Files; @@ -174,13 +157,13 @@ public class DirectoryCleaningAndFileCopying { } } ``` -**Explanation**: -- `Files.walk()` traverses the directory. -- Sorting ensures files are deleted before directories. -#### Step 2: Copy Files from Source to Target Directory +*Explanation*: +- `Files.walk()` traverses every file and sub‑folder. +- Sorting in reverse order ensures files are removed before their parent directories, effectively **delete folder contents**. + +### Step 2: Copy Files (copy files java) -Copy all files using Java Streams: ```java import java.io.IOException; import java.nio.file.Files; @@ -207,22 +190,55 @@ public class DirectoryCleaningAndFileCopying { } } ``` -**Explanation**: -- Filter regular files and copy them to the target directory. -- Use `StandardCopyOption.REPLACE_EXISTING` to overwrite existing files. + +*Explanation*: +- The stream filters only regular files, then copies each to the target directory, overwriting existing files if needed. ## Practical Applications -1. **Enterprise Document Management**: Automate document indexing for large-scale enterprise systems, ensuring quick retrieval and consistency. -2. **Legal Firms**: Manage case files by maintaining indexed documents that are easily searchable and updatable. -3. **Content Management Systems (CMS)**: Enhance CMS with dynamic indexing capabilities to support real-time content updates. +- **Enterprise Document Management** – Automate indexing for thousands of contracts and keep file names in sync. +- **Legal Firms** – Quickly rename case files while preserving searchable content. +- **Content Management Systems** – Use the clean‑directory pattern to refresh media folders without manual cleanup. ## Performance Considerations -- **Index Size**: Monitor index size and optimize storage requirements. -- **Memory Usage**: Efficiently manage Java memory when handling large datasets. -- **Concurrency**: Implement multi-threading for high-performance applications, especially during bulk operations. +- **Index Size** – Periodically compact the index if it grows large. +- **Memory Usage** – Process files in batches to avoid `OutOfMemoryError`. +- **Concurrency** – For bulk operations, consider Java’s `ExecutorService` to parallelize cleaning and copying. + +## Common Issues & Tips + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Frequently Asked Questions + +**Q: Can I clean a directory that contains sub‑folders?** +A: Yes. The `Files.walk()` approach recursively deletes all nested files and folders. + +**Q: Do I need to rebuild the whole index after each rename?** +A: No. Sending a rename notification and calling `index.update()` is sufficient. + +**Q: How large a folder can I clean before hitting performance limits?** +A: It depends on JVM memory; processing in smaller batches or using streams helps manage large data sets. + +**Q: Is GroupDocs.Search free for development?** +A: A free trial is available, but a paid license is required for production use. + +**Q: Can I use this approach with other file types (e.g., PDFs, DOCX)?** +A: Absolutely. GroupDocs.Search supports many formats; just add the folder containing those files to the index. ## Conclusion -You’ve now mastered document indexing and renaming with GroupDocs.Search in Java. This powerful tool enhances your application’s ability to handle documents efficiently, providing robust search capabilities and improved document management. +You now have a complete, production‑ready solution for **clean directory java**, adding documents to a searchable index, renaming files, and keeping everything synchronized with GroupDocs.Search. Apply these patterns to automate your document management workflow and enjoy faster, more reliable search experiences. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/english/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/english/java/indexing/create-manage-groupdocs-search-java-index/_index.md index d9a6f754..07f7c31c 100644 --- a/content/english/java/indexing/create-manage-groupdocs-search-java-index/_index.md +++ b/content/english/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -1,52 +1,42 @@ --- -title: "Create and Manage Indexes with GroupDocs.Search in Java: A Complete Guide" -description: "Learn to create and manage indexes using GroupDocs.Search for Java, secure document passwords, and perform efficient searches. Ideal for developers enhancing search capabilities." -date: "2025-05-20" +title: "Manage Document Passwords Java using GroupDocs.Search" +description: "Learn how to manage document passwords Java with GroupDocs.Search, create searchable indexes, and efficiently search across multiple documents." +date: "2025-12-29" weight: 1 url: "/java/indexing/create-manage-groupdocs-search-java-index/" keywords: -- create index GroupDocs.Search Java -- manage document passwords Java -- efficient search indexed documents +- manage document passwords java +- search across multiple documents type: docs --- -# Create and Manage Indexes with GroupDocs.Search in Java: A Complete Guide -## Introduction +# Manage Document Passwords Java using GroupDocs.Search -In today's digital landscape, efficiently managing document indexes and ensuring secure access are critical challenges that organizations face regularly. This tutorial addresses these issues by leveraging the powerful features of GroupDocs.Search for Java. Whether you're a developer looking to enhance your application's search capabilities or an IT professional aiming to streamline document management processes, this guide is tailored for you. +In modern enterprise applications, **manage document passwords Java** is a crucial step to keep sensitive files safe while still allowing fast, reliable search. In this guide we’ll show you how to create and manage indexes with GroupDocs.Search, store passwords securely in the index dictionary, and then **search across multiple documents** with ease. Whether you’re building a document‑management system or adding search to an existing Java app, the steps below will get you up and running quickly. -**What You'll Learn:** -- How to create and manage indexes in Java using GroupDocs.Search -- Securely managing document passwords within the index dictionary -- Indexing documents with pre-defined passwords -- Conducting efficient searches across indexed documents +## Quick Answers +- **What does “manage document passwords Java” mean?** It refers to storing and retrieving passwords for protected files directly in the search index. +- **Can I index password‑protected files?** Yes—add the passwords to the index dictionary before indexing. +- **How many documents can I search at once?** GroupDocs.Search can **search across multiple documents** in a single query. +- **Do I need a license for production?** A license is required for production use; a free trial is available for evaluation. +- **What Java version is required?** JDK 8 or higher. -Before diving into implementation, let's review the prerequisites needed for this tutorial. +## What is “manage document passwords Java”? +Storing document passwords inside the search index lets the engine open protected files automatically during indexing and searching, eliminating the need for manual password entry each time. -## Prerequisites - -### Required Libraries, Versions, and Dependencies - -To follow along with this guide, ensure you have: -- Java Development Kit (JDK) installed on your machine. Version 8 or higher is recommended. -- Maven build tool for managing project dependencies. - -### Environment Setup Requirements - -Ensure that your development environment supports Maven projects. This involves having the `mvn` command available in your terminal and a suitable IDE like IntelliJ IDEA or Eclipse configured for Java development. - -### Knowledge Prerequisites +## Why use GroupDocs.Search for this task? +- **Built‑in password dictionary** – keep passwords tied to file paths. +- **High‑performance indexing** – handle thousands of files quickly. +- **Rich query language** – supports complex searches across many document types. -A basic understanding of Java programming concepts, including file handling and working with external libraries, will be beneficial. Familiarity with Maven project structure is also helpful but not mandatory. +## Prerequisites +- **JDK 8+** installed. +- **Maven** for dependency management. +- Basic Java knowledge (file handling, classes). ## Setting Up GroupDocs.Search for Java -To integrate GroupDocs.Search into your Java application, use Maven for dependency management: - -**Maven Setup** - -Include the following in your `pom.xml` file to add GroupDocs.Search as a dependency: +Add the repository and dependency to your `pom.xml`: ```xml @@ -66,17 +56,9 @@ Include the following in your `pom.xml` file to add GroupDocs.Search as a depend ``` -**Direct Download** - -Alternatively, you can download the latest version directly from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). - -### License Acquisition Steps - -- GroupDocs offers a free trial to explore its features. -- You can request a temporary license for an extended evaluation period. -- For long-term use, purchasing a license is necessary. +You can also download the library directly from the official release page: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). -To initialize and set up the basic environment for using GroupDocs.Search in your Java project: +### Initialize the Index ```java import com.groupdocs.search.Index; @@ -91,114 +73,98 @@ public class SearchSetup { } ``` -## Implementation Guide - -### Creating and Managing an Index - -#### Overview -Creating a document index organizes your documents for quick search and retrieval. GroupDocs.Search makes this process seamless. - -**Steps:** -1. **Define the Index Folder**: Set up a folder path where your index will be stored. - ```java - String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; - Index index = new Index(indexFolder); - ``` -2. **Initialize the Index**: Create an instance of `Index` with the specified directory. - -### Managing Document Passwords in the Index Dictionary - -#### Overview -Securely manage passwords for your documents within the index to ensure that only authorized users can access them. - -**Steps:** -1. **Check Existing Passwords** - ```java - if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { - index.getDictionaries().getDocumentPasswords().clear(); - } - ``` -2. **Add a Password to a Document** - ```java - String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); - index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); - ``` -3. **Retrieve and Remove a Password** - ```java - if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { - String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); - index.getDictionaries().getDocumentPasswords().remove(documentPath); - } - ``` -4. **Add Passwords to Multiple Documents** - ```java - index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); - index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); - ``` - -### Indexing Documents with Passwords - -#### Overview -Index documents using pre-defined passwords to enable secure searches within your documents. - -**Steps:** -1. **Add Documents to the Index** - ```java - String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; - index.add(documentsFolder); - ``` - -### Searching Within an Indexed Document - -#### Overview -Perform powerful searches across indexed documents using GroupDocs.Search's capabilities. - -**Steps:** -1. **Define a Search Query and Execute It** - ```java - String searchQuery = "ipsum OR increasing"; - SearchResult searchResult = index.search(searchQuery); - ``` +## How to manage document passwords Java? -## Practical Applications +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` -Explore these real-world applications to understand how GroupDocs.Search can be integrated into your projects: -1. **Enterprise Document Management Systems**: Streamline document retrieval in large organizations. -2. **Content Management Platforms**: Enhance content discoverability with advanced search features. -3. **Legal Document Archives**: Securely index sensitive documents for easy access by authorized personnel. +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` -## Performance Considerations +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – secure, searchable archives. +- **Content Management Platforms** – fast retrieval of protected assets. +- **Legal Document Repositories** – maintain confidentiality while enabling full‑text search. -- **Optimize Indexing**: Use parallel processing where possible to speed up the indexing process. -- **Memory Management**: Monitor resource usage during indexing and searching operations. -- **Index Maintenance**: Regularly update your indexes to reflect changes in document collections. +## Performance Considerations +- **Parallel Indexing** – use multiple threads for large batches. +- **Memory Monitoring** – keep an eye on JVM heap during massive imports. +- **Regular Index Maintenance** – re‑index when files change or passwords are updated. ## Conclusion +You now know how to **manage document passwords Java** with GroupDocs.Search, create robust indexes, and perform powerful **search across multiple documents**. By integrating these steps into your application, you’ll deliver secure, fast, and scalable search experiences. -In this tutorial, you've learned how to create and manage a document index using GroupDocs.Search for Java. We explored managing document passwords within the index dictionary and performing efficient searches across indexed documents. By implementing these features, you can enhance the search capabilities of your applications, ensuring secure and fast access to critical information. - -**Next Steps:** -- Experiment with different indexing strategies. -- Explore advanced search queries to refine results further. -- Integrate GroupDocs.Search into your existing projects for improved document management. - -## FAQ Section - -1. **Can I index large volumes of documents?** - - Yes, GroupDocs.Search is designed to handle extensive collections efficiently. -2. **Is it possible to update an existing index with new documents?** - - Absolutely! You can add or remove documents from your index as needed. -3. **How do I ensure the security of my indexed data?** - - Use document passwords and secure directories to protect sensitive information. -4. **Can GroupDocs.Search handle different file formats?** - - Yes, it supports a wide range of document types, including PDFs, Word documents, and more. -5. **What if I encounter performance issues during indexing?** - - Consider optimizing your index settings or increasing system resources to improve performance. - -## Resources -- [Documentation](https://docs.groupdocs.com/search/java/) -- [API Reference](https://reference.groupdocs.com/search/java) -- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) -- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) +**Next Steps** +- Try advanced query operators (wildcards, fuzzy search). +- Explore incremental indexing for real‑time updates. +- Combine with other GroupDocs products for PDF conversion or annotation. + +## Frequently Asked Questions + +**Q: Can I index large volumes of documents?** +A: Yes, GroupDocs.Search is designed to handle extensive collections efficiently. + +**Q: Is it possible to update an existing index with new documents?** +A: Absolutely! You can add or remove documents from your index as needed. + +**Q: How do I ensure the security of my indexed data?** +A: Use the document‑password dictionary and store the index in a protected directory. +**Q: Can GroupDocs.Search handle different file formats?** +A: Yes, it supports PDFs, Word files, Excel sheets, and many other common formats. + +**Q: What if I encounter performance issues during indexing?** +A: Consider enabling parallel processing, increasing heap size, or tuning index settings. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) +--- \ No newline at end of file diff --git a/content/english/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/english/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md index 1fae7c0a..15464359 100644 --- a/content/english/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md +++ b/content/english/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -1,7 +1,7 @@ --- -title: "Efficient Document Indexing & Search using GroupDocs.Search Java" -description: "Learn how to streamline document searches with GroupDocs.Search for Java. This guide covers setup, indexing, searching, and managing documents efficiently." -date: "2025-05-20" +title: "How to Index Java Documents with GroupDocs.Search – Efficient Search" +description: "Learn how to index java documents and create search index with GroupDocs.Search for Java. This guide covers setup, indexing, searching, and managing documents efficiently." +date: "2025-12-29" weight: 1 url: "/java/indexing/efficient-document-indexing-search-groupdocs-java/" keywords: @@ -10,45 +10,62 @@ keywords: - Java document search type: docs --- -# Efficient Document Indexing & Search with GroupDocs.Search Java + +# How to Index Java Documents with GroupDocs.Search – Efficient Search ## Introduction -Are you overwhelmed by a vast amount of documents, struggling to find specific information quickly? Many businesses and individuals face this challenge daily. GroupDocs.Search for Java offers an efficient solution to streamline document searches, making the process faster and more manageable. +Are you overwhelmed by a vast amount of documents and wondering **how to index java** files quickly? Many businesses and individuals face this challenge daily. **GroupDocs.Search for Java** offers an efficient solution to streamline document searches, making the process faster and more manageable. In this tutorial, we'll guide you through using GroupDocs.Search for Java to create an indexed repository of your documents. You'll learn how to load documents from a file system, perform searches, manage deletions, and retrieve indexed data efficiently and scalably. **What You’ll Learn:** -- Setting up and configuring GroupDocs.Search for Java. -- Creating and indexing documents from streams. -- Loading documents from the file system. -- Performing searches on your index. -- Deleting specific indexed documents. -- Retrieving indexed documents post-deletion. +- Setting up and configuring GroupDocs.Search for Java. +- **Creating a search index** and indexing documents from streams. +- Loading documents from the file system. +- **Performing keyword search** on your index. +- **How to delete index** entries for specific documents. +- Retrieving indexed documents after deletions. Ready to revolutionize how you manage document searches? Let's start with the prerequisites! +## Quick Answers +- **What is the primary purpose?** Efficiently index and search Java documents. +- **Which library is required?** GroupDocs.Search for Java (v25.4+). +- **Do I need a license?** A free trial or temporary license is available; a permanent license is required for production. +- **Can I delete documents from the index?** Yes, using the `delete` method with document keys. +- **Is Apache Commons IO mandatory?** It's recommended for file handling utilities. + +## What is “how to index java”? +Indexing Java documents means creating a searchable data structure (an index) that maps document content to searchable terms, allowing rapid retrieval of relevant files based on keyword queries. + +## Why Use GroupDocs.Search for Java? +- **Speed:** Optimized algorithms deliver fast query results even on large collections. +- **Scalability:** Handles thousands of documents without sacrificing performance. +- **Flexibility:** Supports various file formats and offers lazy loading for large files. +- **Ease of Integration:** Simple Maven setup and straightforward API. + ## Prerequisites Before we begin, ensure you have the following: ### Required Libraries and Dependencies -- **GroupDocs.Search for Java**: Ensure version 25.4 or later is installed. +- **GroupDocs.Search for Java**: Ensure version 25.4 or later is installed. - **Apache Commons IO**: Needed for file handling utilities. ### Environment Setup Requirements -- Java Development Kit (JDK) 8 or higher. +- Java Development Kit (JDK) 8 or higher. - Integrated Development Environment (IDE) like IntelliJ IDEA or Eclipse. ### Knowledge Prerequisites -- Basic understanding of Java programming and object-oriented concepts. +- Basic understanding of Java programming and object‑oriented concepts. - Familiarity with Maven for dependency management is beneficial but not mandatory. ## Setting Up GroupDocs.Search for Java Setting up your project environment with GroupDocs.Search involves the following steps using Maven: -**Maven Configuration:** +**Maven Configuration:** Add the following repository and dependency to your `pom.xml` file: ```xml @@ -69,15 +86,15 @@ Add the following repository and dependency to your `pom.xml` file: ``` -**Direct Download:** +**Direct Download:** Alternatively, download the latest version directly from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). ### License Acquisition Steps -- **Free Trial**: Start with a free trial to test its capabilities. -- **Temporary License**: Apply for a temporary license to explore all features without limitations. -- **Purchase**: Consider purchasing if it meets your needs. +- **Free Trial:** Start with a free trial to test its capabilities. +- **Temporary License:** Apply for a temporary license to explore all features without limitations. +- **Purchase:** Consider purchasing if it meets your needs. -**Basic Initialization and Setup:** +**Basic Initialization and Setup:** Once your environment is ready, initialize GroupDocs.Search like this: @@ -92,18 +109,17 @@ public class DocumentIndexing { } ``` -## Implementation Guide +## How to Index Java Documents Using GroupDocs.Search ### Creating and Indexing Documents -**Overview:** -Learn how to create an index in a specified folder and add documents from streams, streamlining the indexing process. +**Overview:** Learn how to create an index in a specified folder and add documents from streams, streamlining the **create search index** process. #### Step 1: Create an Index ```java Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); ``` -- **Parameters**: The first parameter is the directory path for storing indexes. The second boolean enables automatic updating of the index if it exists. +- **Parameters:** The first parameter is the directory path for storing indexes. The second boolean enables automatic updating of the index if it exists. #### Step 2: Load and Add Documents from Stream ```java @@ -113,12 +129,11 @@ Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoade Document[] documents = new Document[]{document}; index.add(documents, new IndexingOptions()); ``` -- **Explanation**: Here, you create a `DocumentLoader` to read the file and prepare it for indexing. The `createLazy` method is used to handle large files efficiently. +- **Explanation:** Here, you create a `DocumentLoader` to read the file and prepare it for indexing. The `createLazy` method is used to handle large files efficiently. ### Loading Documents from File System -**Overview:** -Implement a custom loader that reads documents directly from your filesystem using Apache Commons IO utilities. +**Overview:** Implement a custom loader that reads documents directly from your filesystem using Apache Commons IO utilities. #### Step 1: Define Document Loader ```java @@ -141,64 +156,93 @@ class DocumentLoader { } } ``` -- **Details**: This class reads the file into a byte array and creates a `Document` object from it. +- **Details:** This class reads the file into a byte array and creates a `Document` object from it. -### Searching in an Index +### Performing Keyword Search in an Index -**Overview:** -Perform search operations on your indexed documents to retrieve relevant information quickly. +**Overview:** Execute search operations on your indexed documents to retrieve relevant information quickly. #### Step 1: Execute Search ```java String query = "moment"; SearchResult searchResult1 = index.search(query); ``` -- **Explanation**: Use the `search` method with a simple text query to get results from your indexed data. This approach is efficient for keyword-based searches. +- **Explanation:** Use the `search` method with a simple text query to get results from your indexed data. This approach is efficient for **java document search** scenarios. -### Deleting Indexed Documents +### How to Delete Index Entries -**Overview:** -Learn how to manage your index by deleting specific documents using their keys. +**Overview:** Manage your index by deleting specific documents using their keys. #### Step 1: Delete Document ```java String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); ``` -- **Parameters**: Pass the array of document keys you wish to remove from the index. The `UpdateOptions` allows for flexible deletion strategies. +- **Parameters:** Pass the array of document keys you wish to remove from the index. The `UpdateOptions` allows for flexible deletion strategies. -### Retrieving Indexed Documents Post-Deletion +### Retrieving Indexed Documents Post‑Deletion -**Overview:** -After deleting documents, retrieve a list of remaining indexed files to ensure data integrity. +**Overview:** After deleting documents, retrieve a list of remaining indexed files to ensure data integrity. #### Step 1: Get Remaining Documents ```java DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); ``` -- **Explanation**: This step helps verify the current state of your index after any deletions. +- **Explanation:** This step helps verify the current state of your index after any deletions. ## Practical Applications GroupDocs.Search for Java is versatile, offering numerous use cases such as: -1. **Enterprise Document Management:** Quickly search through company documents to enhance productivity. -2. **Legal Document Analysis:** Efficiently sift through case files and legal texts to find relevant precedents. +1. **Enterprise Document Management:** Quickly search through company documents to enhance productivity. +2. **Legal Document Analysis:** Efficiently sift through case files and legal texts to find relevant precedents. 3. **Library Cataloging Systems:** Index and manage large collections of books and manuscripts for easier access. ## Performance Considerations For optimal performance: -- **Index Optimization**: Regularly update your index to reflect recent changes in documents. -- **Memory Management**: Use Java's garbage collection effectively by managing resource-heavy operations. -- **Scalability**: Ensure your indexing strategy can handle large data volumes without degrading performance. + +- **Index Optimization:** Regularly update your index to reflect recent changes in documents. +- **Memory Management:** Use Java's garbage collection effectively by managing resource‑heavy operations. +- **Scalability:** Ensure your indexing strategy can handle large data volumes without degrading performance. + +## Common Issues and Solutions + +| Issue | Cause | Solution | +|-------|-------|----------| +| **No results returned** | Query terms not indexed or stop‑words filtered | Verify `IndexingOptions` and adjust stop‑words list | +| **Out‑of‑memory errors** | Loading very large files without lazy loading | Use `Document.createLazy` or increase JVM heap size | +| **Deleted documents still appear** | Index not refreshed after deletion | Call `index.optimize()` or reopen the index | + +## Frequently Asked Questions + +**Q: Can I index PDFs, DOCX, and PPTX together?** +A: Yes, GroupDocs.Search supports a wide range of formats out of the box. + +**Q: How does “how to delete index” work under the hood?** +A: The `delete` method removes entries based on document keys and updates internal posting lists to keep the index consistent. + +**Q: Is there a way to monitor index size?** +A: Use `index.getStatistics()` to retrieve information about document count and storage size. + +**Q: Do I need to rebuild the entire index after each deletion?** +A: No, the `delete` operation updates the index incrementally, preserving existing data. + +**Q: What if I need to re‑index all documents after a schema change?** +A: Create a new `Index` instance with a different folder path and re‑add all documents. ## Conclusion -By now, you should have a comprehensive understanding of how to implement efficient document indexing and search using GroupDocs.Search for Java. This powerful tool can transform the way you manage and retrieve information from documents, making it an invaluable asset in any organization's toolkit. +By now, you should have a solid grasp of **how to index java** documents and perform fast searches using GroupDocs.Search for Java. This powerful library can transform the way you manage and retrieve information from large document collections, making it an invaluable tool for any organization. + +**Next Steps:** +- Experiment with different document types and complex queries. +- Explore advanced features like faceted search, metadata indexing, and custom analyzers. -**Next Steps:** -- Experiment with different types of documents and queries. -- Explore advanced features like faceted searches and metadata indexing. +Ready to start your indexing journey? Implement these techniques today and experience faster, more accurate document retrieval! + +--- -Ready to start your journey? Implement these techniques today! +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search Java 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/english/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/english/java/indexing/groupdocs-search-java-advanced-indexing/_index.md index b4f08c02..3895faae 100644 --- a/content/english/java/indexing/groupdocs-search-java-advanced-indexing/_index.md +++ b/content/english/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -1,7 +1,7 @@ --- -title: "Advanced Indexing Techniques with GroupDocs.Search for Java: Enhance Your Document Search Capabilities" -description: "Learn how to leverage advanced indexing features of GroupDocs.Search for Java, including cancellation, asynchronous operations, multi-threading, and metadata customization. Boost your application's performance now." -date: "2025-05-20" +title: "Optimize Search Performance with Advanced Indexing Techniques in GroupDocs.Search for Java" +description: "Learn how to optimize search performance using advanced indexing features of GroupDocs.Search for Java, including cancellation, asynchronous operations, multi‑threading, and metadata customization." +date: "2025-12-29" weight: 1 url: "/java/indexing/groupdocs-search-java-advanced-indexing/" keywords: @@ -10,32 +10,30 @@ keywords: - asynchronous operations type: docs --- -# Advanced Indexing Techniques with GroupDocs.Search for Java: Enhance Your Document Search Capabilities +# Optimize Search Performance with Advanced Indexing Techniques in GroupDocs.Search for Java -In today’s fast-paced digital environment, efficiently managing and retrieving vast amounts of data is crucial. Whether you're developing a search engine or enhancing document management systems, leveraging powerful indexing tools can significantly improve performance. This tutorial explores how to utilize the robust features of GroupDocs.Search for Java to enhance your applications with advanced indexing capabilities. +In today’s fast‑paced digital environment, **optimizing search performance** is essential for delivering instant results to users. Whether you’re building a custom search engine or enhancing an existing document management system, the right indexing strategy can dramatically cut latency and resource consumption. In this tutorial we’ll walk through the most powerful features of GroupDocs.Search for Java—cancellation, asynchronous indexing, multi‑threading, and metadata customization—so you can **add documents index** faster and more efficiently. -**What You'll Learn:** +**What You’ll Learn** - How to cancel an indexing operation after a specified time - Performing asynchronous indexing operations and handling status changes -- Configuring multi-threading for faster indexing +- Configuring multi‑threading for faster indexing - Customizing metadata indexing options -Let's dive into the prerequisites before we begin implementing these features. +Let’s make sure you have everything you need before we dive into the code. ## Prerequisites -To follow this tutorial, you'll need: - -- **GroupDocs.Search Library**: Ensure you have version 25.4 or later. -- **Java Development Environment**: JDK 8 or higher is recommended. -- Basic understanding of Java programming and indexing concepts. +- **GroupDocs.Search Library** – version 25.4 or later. +- **Java Development Environment** – JDK 8 or higher is recommended. +- Basic familiarity with Java and the concept of indexing. ### Setting Up GroupDocs.Search for Java #### Maven Installation -Include the following in your `pom.xml` file: +Add the repository and dependency to your `pom.xml` file: ```xml @@ -57,9 +55,9 @@ Include the following in your `pom.xml` file: #### Direct Download -Alternatively, download the latest version from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). +Alternatively, download the latest JAR from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). -**License Acquisition**: Start with a free trial or request a temporary license to explore full features. +**License Acquisition** – Start with a free trial or request a temporary license to unlock the full feature set. ### Basic Initialization and Setup @@ -77,180 +75,201 @@ public class IndexSetup { } ``` +## Quick Answers +- **What does cancellation do?** Stops indexing after a set time to free resources. +- **Can I index documents asynchronously?** Yes – set `options.setAsync(true)`. +- **How many threads can I use?** Any positive integer; typical values are 2‑4 for most servers. +- **Is metadata indexing optional?** Absolutely – you can enable or fine‑tune it per field. +- **Do I need a license for these features?** A trial works for testing; a full license is required for production. + +## What Is “Optimize Search Performance” in This Context? + +Optimizing search performance means configuring the indexing process so that it consumes the right amount of CPU, memory, and time while delivering the most relevant results instantly. By controlling cancellation, async execution, threading, and metadata handling, you directly influence how quickly the engine can **add documents index** and respond to queries. + +## Why Use Advanced Indexing Features? + +- **Reduced latency** – Asynchronous and multi‑threaded indexing keeps your application responsive. +- **Better resource management** – Cancellation prevents runaway processes. +- **Tailored search relevance** – Metadata options let you surface the most important information. + ## Implementation Guide ### Cancellation Property -**Overview**: Cancel indexing operations after a specified time to manage resource usage effectively. - -#### Steps to Implement: - -1. **Set Up the Environment** - - Import necessary classes and define your directories. - - ```java - import com.groupdocs.search.*; - import com.groupdocs.search.options.*; - - String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; - String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; - ``` - -2. **Create Indexing Options with Cancellation** - - Configure the cancellation feature to stop indexing after 3 seconds. - - ```java - // Create an instance of Index and IndexingOptions - Index index = new Index(indexFolder); - IndexingOptions options = new IndexingOptions(); - - // Set a cancellation object - options.setCancellation(new Cancellation()); - options.getCancellation().cancelAfter(3000); - - // Add documents to the index with these options - index.add(documentFolder, options); - ``` - -3. **Understanding Parameters** - - - `setCancellation()`: Initializes cancellation. - - `cancelAfter(int milliseconds)`: Specifies when to cancel. +**Overview** – Cancel indexing after a specified duration to avoid over‑consumption of resources. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` activates the feature. +- `cancelAfter(int milliseconds)` defines the timeout (3 seconds in this example). ### Asynchronous Property -**Overview**: Perform indexing operations asynchronously and handle status changes efficiently. - -#### Steps to Implement: - -1. **Set Up the Environment** - - ```java - import com.groupdocs.search.*; - import com.groupdocs.search.events.*; - - String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; - String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; - ``` - -2. **Subscribe to Status Changed Event** - - Monitor indexing status changes. - - ```java - Index index = new Index(indexFolder); - - // Subscribe to the status changed event - index.getEvents().StatusChanged.add(new EventHandler() { - @Override - public void invoke(Object sender, BaseIndexEventArgs args) { - if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { - System.out.println("Operation completed with status: " + args.getStatus()); - } - } - }); - ``` - -3. **Configure Asynchronous Options** - - ```java - IndexingOptions options = new IndexingOptions(); - options.setAsync(true); - - index.add(documentFolder, options); - ``` +**Overview** – Run indexing on a background thread and listen for status changes. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` ### Threads Property -**Overview**: Enhance indexing speed by setting the number of threads. +**Overview** – Speed up indexing by leveraging multiple CPU cores. -#### Steps to Implement: +#### Step 1: Set Up Environment -1. **Set Up Environment** - - ```java - import com.groupdocs.search.*; - import com.groupdocs.search.options.*; +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; - String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; - String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; - ``` +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` -2. **Configure Multi-threading** - - Set the number of threads for faster indexing. - - ```java - Index index = new Index(indexFolder); - IndexingOptions options = new IndexingOptions(); - - // Specify 2 threads for the operation - options.setThreads(2); +#### Step 2: Configure Multi‑threading - index.add(documentFolder, options); - ``` +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); -### Metadata Indexing Options Property +// Specify 2 threads for the operation +options.setThreads(2); -**Overview**: Customize metadata indexing to suit specific data requirements. +index.add(documentFolder, options); +``` -#### Steps to Implement: +### Metadata Indexing Options Property -1. **Set Up Environment** - - ```java - import com.groupdocs.search.*; - import com.groupdocs.search.options.*; +**Overview** – Fine‑tune which document metadata gets indexed and how it’s stored. - String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; - String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; - ``` +#### Step 1: Set Up Environment -2. **Configure Metadata Options** - - Adjust metadata settings for optimal indexing. - - ```java - Index index = new Index(indexFolder); - IndexingOptions options = new IndexingOptions(); +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; - // Customize metadata indexing options - options.getMetadataIndexingOptions().setDefaultFieldName("default"); - options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\\"); - options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); - options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); - options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); - options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options - index.add(documentFolder, options); - ``` +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` ## Practical Applications -1. **Document Management Systems**: Enhance search capabilities with asynchronous indexing for real-time data retrieval. -2. **Content Search Engines**: Use cancellation features to manage resource-intensive searches efficiently. -3. **Multi-threaded Indexing**: Optimize performance in large-scale document processing by leveraging multi-threading. +1. **Document Management Systems** – Use asynchronous indexing to keep the UI responsive while large batches are processed in the background. +2. **Content Search Engines** – Apply cancellation to prevent long‑running jobs from hogging server resources during peak traffic. +3. **Large‑Scale Ingestion Pipelines** – Leverage multi‑threading to **add documents index** at scale, cutting processing time dramatically. ## Performance Considerations -- **Optimizing Performance**: Regularly monitor thread usage and adjust as necessary for optimal performance. -- **Resource Usage Guidelines**: Be mindful of memory consumption when setting metadata indexing limits. -- **Java Memory Management**: Use efficient data structures and garbage collection techniques to manage resources effectively with GroupDocs.Search. +- **Thread Management** – Monitor CPU usage; too many threads can cause context‑switch overhead. +- **Memory Footprint** – Metadata limits (e.g., `setMaxBytesToIndexField`) help keep memory usage predictable. +- **Garbage Collection** – Use appropriate JVM flags (`-Xmx`, `-XX:+UseG1GC`) when indexing massive corpora. -## Conclusion +## Common Issues and Solutions + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Indexing never finishes | Cancellation set too low | Increase `cancelAfter` value or remove cancellation for long jobs | +| No status updates in async mode | Event handler not attached correctly | Ensure `index.getEvents().StatusChanged.add(...)` is called before `index.add` | +| Out‑of‑memory errors | Too many threads or high metadata limits | Reduce `options.setThreads` and lower metadata field limits | +| Missing metadata in results | Metadata indexing disabled | Verify `options.getMetadataIndexingOptions()` is configured and not set to ignore fields | + +## Frequently Asked Questions -By implementing these advanced features of GroupDocs.Search for Java, you can significantly enhance your application's search capabilities. Whether it's through efficient cancellation handling, asynchronous operations, multi-threaded indexing, or customized metadata options, there are numerous ways to optimize performance and resource usage. +**Q: How do I obtain a temporary license for GroupDocs.Search?** +A: Visit [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). -**Next Steps**: Experiment with different configurations and explore the full potential of GroupDocs.Search in your projects. +**Q: Can I cancel an indexing operation midway through?** +A: Yes – use the cancellation property with `cancelAfter()` or call `Cancellation.cancel()` programmatically. -## FAQ Section +**Q: What are some use cases for asynchronous indexing?** +A: Real‑time document retrieval, background batch processing, and UI‑responsive applications benefit from async indexing. + +**Q: Is it safe to increase the thread count on a shared server?** +A: Increase gradually and monitor CPU load; on heavily shared environments, keep the thread count modest (2‑4). + +**Q: How does metadata indexing affect search relevance?** +A: Properly indexed metadata (author, creation date, tags) can be weighted higher in queries, improving result accuracy. + +## Conclusion + +By embracing these advanced features of GroupDocs.Search for Java, you’ll **optimize search performance** across a variety of scenarios—from rapid document ingestion to fine‑grained metadata control. Experiment with different configurations, monitor resource usage, and tailor the settings to your specific workload to get the best results. + +--- -1. **How do I obtain a temporary license for GroupDocs.Search?** - - Visit [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). -2. **Can I cancel an indexing operation midway through?** - - Yes, using the cancellation property with `cancelAfter()`. -3. **What are some use cases for asynchronous indexing?** - - Real-time document retrieval and search functionality +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs +--- \ No newline at end of file diff --git a/content/french/java/getting-started/_index.md b/content/french/java/getting-started/_index.md new file mode 100644 index 00000000..43d13bfc --- /dev/null +++ b/content/french/java/getting-started/_index.md @@ -0,0 +1,100 @@ +--- +date: 2025-12-29 +description: Guide étape par étape sur la façon de configurer GroupDocs.Search pour + les développeurs Java, couvrant l'installation, la licence et la création de votre + première solution de recherche. +title: 'Comment configurer GroupDocs.Search - tutoriels de démarrage pour Java' +type: docs +url: /fr/java/getting-started/ +weight: 1 +--- + +# Comment configurer GroupDocs.Search - Tutoriels de démarrage pour Java + +Bienvenue dans le guide ultime sur **comment configurer GroupDocs.Search** pour les applications Java. Dans ce tutoriel, vous apprendrez les étapes essentielles pour installer la bibliothèque, configurer la licence et créer votre première solution de recherche de documents. Que vous démarriez un nouveau projet ou que vous intégriez la recherche dans une base de code existante, ce guide vous fournit tout ce dont vous avez besoin pour être opérationnel rapidement. + +## Réponses rapides +- **Quelle est la première étape ?** Installez le package GroupDocs.Search Java via Maven ou Gradle. +- **Ai‑je besoin d’une licence ?** Oui — une licence temporaire fonctionne pour le développement ; une licence complète est requise pour la production. +- **Quel IDE est le plus adapté ?** Tout IDE Java (IntelliJ IDEA, Eclipse, VS Code) qui prend en charge les projets Maven/Gradle. +- **Puis‑je indexer des PDF et des fichiers Word ?** Absolument — GroupDocs.Search prend en charge un large éventail de formats de documents dès le départ. +- **Combien de temps prend la configuration ?** Généralement moins de 15 minutes pour un projet vierge. + +## Qu’est‑ce que « comment configurer GroupDocs.Search » ? +Configurer GroupDocs.Search signifie préparer la bibliothèque pour indexer des documents, définir les emplacements de stockage et appliquer votre clé de licence afin que l’API puisse fonctionner sans restrictions. Une configuration correcte assure des résultats de recherche rapides et précis ainsi qu’une intégration fluide avec votre code Java. + +## Pourquoi configurer GroupDocs.Search pour Java ? +- **Mise en œuvre rapide** – Peu de code est nécessaire pour commencer à indexer et à rechercher. +- **Indexation évolutive** – Gère de grandes collections de documents sans perte de performance. +- **Large prise en charge des formats** – Fonctionne avec PDF, DOCX, XLSX, PPTX et de nombreux autres types de fichiers. +- **Licence sécurisée** – Garantit la conformité et débloque toutes les fonctionnalités premium. + +## Prérequis +- Java Development Kit (JDK) 8 ou supérieur. +- Maven 3 ou Gradle 5 pour la gestion des dépendances. +- Accès à une clé de licence temporaire ou complète GroupDocs.Search. + +## Guide étape par étape + +### Étape 1 : Ajouter GroupDocs.Search à votre projet +Incluez la dépendance GroupDocs.Search dans votre `pom.xml` (Maven) ou `build.gradle` (Gradle). Cela rend la bibliothèque disponible pour votre code. + +### Étape 2 : Appliquer votre licence +Créez un objet `License` et chargez votre fichier de licence temporaire ou permanent. Cette étape débloque toutes les fonctionnalités et supprime les limites d’évaluation. + +### Étape 3 : Initialiser les paramètres d’index +Définissez où les fichiers d’index seront stockés sur le disque et configurez les options d’indexation personnalisées dont vous avez besoin (par ex., sensibilité à la casse, mots vides). + +### Étape 4 : Indexer vos documents +Utilisez la classe `Indexer` pour ajouter des fichiers ou des dossiers à l’index. GroupDocs.Search détecte automatiquement les types de fichiers et extrait le texte indexable. + +### Étape 5 : Effectuer une requête de recherche +Créez un objet `SearchOptions`, spécifiez la chaîne de requête et exécutez la recherche. L’API renvoie une liste de documents correspondants avec leurs scores de pertinence. + +### Étape 6 : Examiner les résultats +Itérez sur les résultats de recherche, affichez les noms de fichiers et, si vous le souhaitez, mettez en évidence les termes correspondants dans l’interface utilisateur. + +## Problèmes courants et solutions +- **Licence non reconnue** – Vérifiez le chemin du fichier de licence et assurez‑vous qu’il correspond à la version de GroupDocs.Search que vous utilisez. +- **Formats de documents manquants** – Installez le module complémentaire optionnel `groupdocs-conversion` si vous avez besoin de prendre en charge des types de fichiers moins courants. +- **Goulots d’étranglement de performance** – Utilisez l’indexation incrémentielle et configurez le dossier d’index sur un stockage SSD pour un accès plus rapide. + +## Questions fréquemment posées + +**Q : Puis‑je utiliser GroupDocs.Search sur un serveur Linux ?** +R : Oui, la bibliothèque est indépendante de la plateforme et fonctionne sur tout système d’exploitation supportant Java. + +**Q : Comment mettre à jour l’index après l’ajout de nouveaux fichiers ?** +R : Appelez à nouveau `Indexer` avec les nouveaux fichiers ; la bibliothèque les fusionnera avec l’index existant. + +**Q : Existe‑t‑il un moyen de limiter les résultats de recherche à un dossier spécifique ?** +R : Oui, définissez un filtre de dossier dans `SearchOptions` avant d’exécuter la requête. + +**Q : Que se passe‑t‑il si je dépasse la période de licence temporaire ?** +R : L’API continue de fonctionner en mode évaluation avec des fonctionnalités limitées ; remplacez le fichier de licence par une clé permanente pour restaurer la pleine fonctionnalité. + +**Q : GroupDocs.Search prend‑il en charge la recherche floue ?** +R : Absolument — activez la correspondance floue dans `SearchOptions` pour récupérer des résultats avec de légères variations orthographiques. + +## Ressources supplémentaires + +### Tutoriels disponibles + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Apprenez à déployer et configurer GroupDocs.Search pour Java grâce à ce guide pas à pas. Améliorez l’indexation de documents et les capacités de recherche dans vos projets. + +### Liens utiles +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Dernière mise à jour :** 2025-12-29 +**Testé avec :** GroupDocs.Search 23.12 for Java +**Auteur :** GroupDocs + +--- \ No newline at end of file diff --git a/content/french/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/french/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..031a58c6 --- /dev/null +++ b/content/french/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,241 @@ +--- +date: '2025-12-29' +description: Apprenez à nettoyer le répertoire Java, à automatiser la gestion de documents + et à renommer des fichiers en utilisant GroupDocs.Search pour Java. Boostez l'efficacité + de vos applications. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Nettoyer le répertoire Java – Automatiser l’indexation et le renommage +type: docs +url: /fr/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatiser l'indexation et le renommage de documents avec GroupDocs.Search + +Si vous devez **clean directory java** tout en automatisant l'indexation et le renommage de documents, vous êtes au bon endroit. Gérer manuellement les déplacements, suppressions de fichiers et les mises à jour d'index est source d'erreurs et chronophage. Dans ce tutoriel, nous vous montrerons comment laisser Java faire le travail lourd, en utilisant **GroupDocs.Search for Java** pour créer un index consultable, renommer les fichiers et maintenir l'index synchronisé automatiquement. + +## Réponses rapides +- **Que signifie “clean directory java” ?** Suppression de tous les fichiers/dossiers à l'intérieur d'un répertoire cible à l'aide de code Java. +- **Quelle bibliothèque crée l'index consultable ?** GroupDocs.Search for Java. +- **Comment renommer un document et garder l'index à jour ?** Utilisez `File.renameTo()` puis notifiez l'index avec `Notification.createRenameNotification`. +- **Puis‑je copier des fichiers après avoir nettoyé le dossier ?** Oui – les flux Java peuvent copier les fichiers tout en préservant l'index. +- **Une licence est‑elle requise pour la production ?** Une licence valide GroupDocs.Search est nécessaire pour une utilisation commerciale. + +## Qu’est‑ce que “clean directory java” ? +Nettoyer un répertoire en Java signifie supprimer programmétiquement chaque fichier et sous‑dossier à l'intérieur d'un dossier spécifié. C’est souvent une étape préalable avant de copier de nouveaux fichiers ou de reconstruire un index, afin de garantir que les données obsolètes n'interfèrent pas avec les résultats de recherche. + +## Pourquoi automatiser l'indexation et le renommage de documents ? +- **Automatisation de la gestion de documents** réduit l'effort manuel et élimine les erreurs humaines. +- Une étape de **création d'index consultable** vous permet de localiser instantanément n'importe quel document par son contenu. +- Renommer des fichiers sans mettre à jour l'index compromettrait la précision de la recherche ; l'automatisation maintient tout cohérent. + +## Prérequis +- **GroupDocs.Search for Java** (Version 25.4 ou ultérieure) +- JDK 8 + et un IDE tel qu'IntelliJ IDEA ou Eclipse +- Connaissances de base en Java, notamment I/O de fichiers + +## Configuration de GroupDocs.Search for Java + +### Dépendance Maven +Ajoutez le dépôt et la dépendance à votre `pom.xml` : + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Téléchargement direct +Sinon, téléchargez la dernière version depuis [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Licence +Obtenez un essai gratuit, une licence d'évaluation temporaire, ou achetez une licence complète pour une utilisation en production. + +### Initialisation de base +Créez une instance `Index` qui contiendra les données consultables : + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Guide de mise en œuvre + +### 1. Ajouter des documents à l'index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explication* : +- `indexFolder` – l'endroit où les fichiers d'index sont stockés. +- `documentFolder` – le dossier source contenant les fichiers que vous souhaitez rendre consultables. + +### 2. Renommer un document et notifier l'index + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explication* : +- `File.renameTo()` de Java effectue le renommage physique. +- `Notification.createRenameNotification()` indique à GroupDocs.Search que le nom du fichier a changé, maintenant ainsi la précision de l'index. + +## Clean Directory Java – Nettoyage de répertoire et copie de fichiers + +Maintenir un dossier propre avant une copie massive évite les fichiers dupliqués ou orphelins. Vous trouverez ci‑dessous deux extraits réutilisables. + +### Étape 1 : Supprimer le contenu du dossier (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explication* : +- `Files.walk()` parcourt chaque fichier et sous‑dossier. +- Le tri en ordre inverse garantit que les fichiers sont supprimés avant leurs répertoires parents, réalisant ainsi **delete folder contents**. + +### Étape 2 : Copier des fichiers (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explication* : +- Le flux filtre uniquement les fichiers réguliers, puis copie chacun dans le répertoire cible, en écrasant les fichiers existants si nécessaire. + +## Applications pratiques +- **Enterprise Document Management** – Automatisez l'indexation de milliers de contrats et maintenez les noms de fichiers synchronisés. +- **Legal Firms** – Renommez rapidement les dossiers de dossiers tout en préservant le contenu consultable. +- **Content Management Systems** – Utilisez le modèle clean‑directory pour rafraîchir les dossiers médias sans nettoyage manuel. + +## Considérations de performance +- **Index Size** – Compactez périodiquement l'index s'il devient volumineux. +- **Memory Usage** – Traitez les fichiers par lots pour éviter `OutOfMemoryError`. +- **Concurrency** – Pour les opérations massives, envisagez `ExecutorService` de Java pour paralléliser le nettoyage et la copie. + +## Problèmes courants & conseils + +| Issue | Cause | Fix | +|-------|-------|-----| +| Échec du renommage | Le fichier est verrouillé ou le chemin est invalide | Assurez‑vous que le fichier n’est pas ouvert ailleurs ; utilisez `Files.move` pour des renommages plus fiables. | +| Index non mis à jour | Notification non envoyée | Appelez toujours `index.notifyIndex(notification)` suivi de `index.update()`. | +| Résultats de recherche obsolètes après copie | L'index pointe toujours vers d'anciens fichiers | Ré‑ajoutez le dossier cible à l'index ou appelez `index.update()` après la copie. | + +## Questions fréquentes + +**Q : Puis‑je nettoyer un répertoire contenant des sous‑dossiers ?** +R : Oui. L'approche `Files.walk()` supprime récursivement tous les fichiers et dossiers imbriqués. + +**Q : Dois‑je reconstruire tout l'index après chaque renommage ?** +R : Non. L'envoi d'une notification de renommage et l'appel de `index.update()` suffisent. + +**Q : Quelle taille de dossier puis‑je nettoyer avant d'atteindre les limites de performance ?** +R : Cela dépend de la mémoire JVM ; traiter les fichiers par lots plus petits ou utiliser des flux aide à gérer de grands ensembles de données. + +**Q : GroupDocs.Search est‑il gratuit pour le développement ?** +R : Un essai gratuit est disponible, mais une licence payante est requise pour une utilisation en production. + +**Q : Puis‑je utiliser cette approche avec d'autres types de fichiers (p. ex., PDF, DOCX) ?** +R : Absolument. GroupDocs.Search prend en charge de nombreux formats ; il suffit d'ajouter le dossier contenant ces fichiers à l'index. + +## Conclusion + +Vous disposez désormais d'une solution complète, prête pour la production, pour **clean directory java**, ajoutant des documents à un index consultable, renommant les fichiers et maintenant tout synchronisé avec GroupDocs.Search. Appliquez ces modèles pour automatiser votre flux de gestion de documents et profiter d'expériences de recherche plus rapides et plus fiables. + +--- + +**Dernière mise à jour :** 2025-12-29 +**Testé avec :** GroupDocs.Search 25.4 +**Auteur :** GroupDocs \ No newline at end of file diff --git a/content/french/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/french/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..6e359c34 --- /dev/null +++ b/content/french/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: Apprenez à gérer les mots de passe des documents Java avec GroupDocs.Search, + à créer des index de recherche et à effectuer des recherches efficaces dans plusieurs + documents. +keywords: +- manage document passwords java +- search across multiple documents +title: Gérer les mots de passe des documents Java avec GroupDocs.Search +type: docs +url: /fr/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Manage Document Passwords Java using GroupDocs.Search + +Dans les applications d’entreprise modernes, **manage document passwords Java** est une étape cruciale pour garder les fichiers sensibles en sécurité tout en permettant une recherche rapide et fiable. Dans ce guide, nous vous montrons comment créer et gérer des index avec GroupDocs.Search, stocker les mots de passe de façon sécurisée dans le dictionnaire d’index, puis **search across multiple documents** facilement. Que vous construisiez un système de gestion de documents ou que vous ajoutiez la recherche à une application Java existante, les étapes ci‑dessous vous permettront de démarrer rapidement. + +## Quick Answers +- **What does “manage document passwords Java” mean?** Il s’agit de stocker et de récupérer les mots de passe des fichiers protégés directement dans l’index de recherche. +- **Can I index password‑protected files?** Oui — ajoutez les mots de passe au dictionnaire d’index avant l’indexation. +- **How many documents can I search at once?** GroupDocs.Search peut **search across multiple documents** dans une seule requête. +- **Do I need a license for production?** Une licence est requise pour une utilisation en production ; un essai gratuit est disponible pour l’évaluation. +- **What Java version is required?** JDK 8 ou supérieur. + +## What is “manage document passwords Java”? +Stocker les mots de passe des documents à l’intérieur de l’index de recherche permet au moteur d’ouvrir automatiquement les fichiers protégés lors de l’indexation et de la recherche, éliminant ainsi le besoin de saisir manuellement le mot de passe à chaque fois. + +## Why use GroupDocs.Search for this task? +- **Built‑in password dictionary** – conservez les mots de passe associés aux chemins de fichiers. +- **High‑performance indexing** – traitez des milliers de fichiers rapidement. +- **Rich query language** – prend en charge des recherches complexes sur de nombreux types de documents. + +## Prerequisites +- **JDK 8+** installé. +- **Maven** pour la gestion des dépendances. +- Connaissances de base en Java (gestion de fichiers, classes). + +## Setting Up GroupDocs.Search for Java + +Ajoutez le dépôt et la dépendance à votre `pom.xml` : + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Vous pouvez également télécharger la bibliothèque directement depuis la page officielle des versions : [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Initialize the Index + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – archives sécurisées et recherchables. +- **Content Management Platforms** – récupération rapide des actifs protégés. +- **Legal Document Repositories** – maintien de la confidentialité tout en permettant la recherche en texte intégral. + +## Performance Considerations +- **Parallel Indexing** – utilisez plusieurs threads pour les gros lots. +- **Memory Monitoring** – surveillez la mémoire du tas JVM lors d’importations massives. +- **Regular Index Maintenance** – ré‑indexez lorsque les fichiers changent ou que les mots de passe sont mis à jour. + +## Conclusion +Vous savez maintenant comment **manage document passwords Java** avec GroupDocs.Search, créer des index robustes et effectuer des **search across multiple documents** puissantes. En intégrant ces étapes dans votre application, vous offrirez des expériences de recherche sécurisées, rapides et évolutives. + +**Next Steps** +- Essayez les opérateurs de requête avancés (joker, recherche floue). +- Explorez l’indexation incrémentielle pour les mises à jour en temps réel. +- Combinez avec d’autres produits GroupDocs pour la conversion PDF ou l’annotation. + +## Frequently Asked Questions + +**Q : Can I index large volumes of documents?** +A : Oui, GroupDocs.Search est conçu pour gérer efficacement de vastes collections. + +**Q : Is it possible to update an existing index with new documents?** +A : Absolument ! Vous pouvez ajouter ou supprimer des documents de votre index selon les besoins. + +**Q : How do I ensure the security of my indexed data?** +A : Utilisez le dictionnaire de mots de passe de documents et stockez l’index dans un répertoire protégé. + +**Q : Can GroupDocs.Search handle different file formats?** +A : Oui, il prend en charge les PDF, les fichiers Word, les feuilles Excel et de nombreux autres formats courants. + +**Q : What if I encounter performance issues during indexing?** +A : Envisagez d’activer le traitement parallèle, d’augmenter la taille du tas ou d’ajuster les paramètres d’index. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/french/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/french/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..d993c178 --- /dev/null +++ b/content/french/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,249 @@ +--- +date: '2025-12-29' +description: Apprenez à indexer des documents Java et à créer un index de recherche + avec GroupDocs.Search pour Java. Ce guide couvre la configuration, l'indexation, + la recherche et la gestion efficace des documents. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Comment indexer des documents Java avec GroupDocs.Search – Recherche efficace +type: docs +url: /fr/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Comment indexer des documents Java avec GroupDocs.Search – Recherche efficace + +## Introduction + +Êtes‑vous submergé par une grande quantité de documents et vous demandez **comment indexer rapidement des fichiers java** ? De nombreuses entreprises et particuliers font face à ce défi quotidiennement. **GroupDocs.Search for Java** offre une solution efficace pour rationaliser les recherches de documents, rendant le processus plus rapide et plus gérable. + +Dans ce tutoriel, nous vous guiderons dans l'utilisation de GroupDocs.Search for Java pour créer un référentiel indexé de vos documents. Vous apprendrez comment charger des documents depuis le système de fichiers, effectuer des recherches, gérer les suppressions et récupérer les données indexées de manière efficace et évolutive. + +**Ce que vous apprendrez :** +- Configurer et paramétrer GroupDocs.Search for Java. +- **Créer un index de recherche** et indexer des documents à partir de flux. +- Charger des documents depuis le système de fichiers. +- **Effectuer une recherche par mot‑clé** sur votre index. +- **Comment supprimer des entrées d'index** pour des documents spécifiques. +- Récupérer les documents indexés après des suppressions. + +Prêt à révolutionner la façon dont vous gérez les recherches de documents ? Commençons par les prérequis ! + +## Quick Answers +- **Quel est le but principal ?** Indexer et rechercher efficacement des documents Java. +- **Quelle bibliothèque est requise ?** GroupDocs.Search for Java (v25.4+). +- **Ai‑je besoin d’une licence ?** Un essai gratuit ou une licence temporaire est disponible ; une licence permanente est requise pour la production. +- **Puis‑je supprimer des documents de l'index ?** Oui, en utilisant la méthode `delete` avec les clés de document. +- **Apache Commons IO est‑il obligatoire ?** Il est recommandé pour les utilitaires de gestion de fichiers. + +## What is “how to index java”? + +L'indexation de documents Java consiste à créer une structure de données recherchable (un index) qui associe le contenu des documents aux termes recherchables, permettant une récupération rapide des fichiers pertinents à partir de requêtes par mots‑clés. + +## Why Use GroupDocs.Search for Java? +- **Vitesse :** Des algorithmes optimisés offrent des résultats de requête rapides même sur de grandes collections. +- **Scalabilité :** Gère des milliers de documents sans sacrifier les performances. +- **Flexibilité :** Prend en charge divers formats de fichiers et propose le chargement paresseux pour les gros fichiers. +- **Facilité d'intégration :** Configuration Maven simple et API claire. + +## Prerequisites + +### Required Libraries and Dependencies +- **GroupDocs.Search for Java** : Assurez‑vous que la version 25.4 ou supérieure est installée. +- **Apache Commons IO** : Nécessaire pour les utilitaires de gestion de fichiers. + +### Environment Setup Requirements +- Java Development Kit (JDK) 8 ou supérieur. +- Environnement de développement intégré (IDE) tel qu'IntelliJ IDEA ou Eclipse. + +### Knowledge Prerequisites +- Compréhension de base de la programmation Java et des concepts orientés objet. +- Une familiarité avec Maven pour la gestion des dépendances est bénéfique mais pas obligatoire. + +## Setting Up GroupDocs.Search for Java + +Configurer votre environnement de projet avec GroupDocs.Search implique les étapes suivantes avec Maven : + +**Maven Configuration:** +Add the following repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Direct Download:** +Alternatively, download the latest version directly from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License Acquisition Steps +- **Essai gratuit :** Commencez avec un essai gratuit pour tester ses capacités. +- **Licence temporaire :** Demandez une licence temporaire pour explorer toutes les fonctionnalités sans limitations. +- **Achat :** Envisagez d'acheter si cela répond à vos besoins. + +**Basic Initialization and Setup:** + +Once your environment is ready, initialize GroupDocs.Search like this: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## How to Index Java Documents Using GroupDocs.Search + +### Creating and Indexing Documents + +**Overview:** Learn how to create an index in a specified folder and add documents from streams, streamlining the **create search index** process. + +#### Step 1: Create an Index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Paramètres :** Le premier paramètre est le chemin du répertoire où stocker les index. Le second booléen active la mise à jour automatique de l'index s'il existe. + +#### Step 2: Load and Add Documents from Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explication :** Ici, vous créez un `DocumentLoader` pour lire le fichier et le préparer à l'indexation. La méthode `createLazy` est utilisée pour gérer efficacement les gros fichiers. + +### Loading Documents from File System + +**Overview:** Implement a custom loader that reads documents directly from your filesystem using Apache Commons IO utilities. + +#### Step 1: Define Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Détails :** Cette classe lit le fichier dans un tableau d'octets et crée un objet `Document` à partir de celui‑ci. + +### Performing Keyword Search in an Index + +**Overview:** Execute search operations on your indexed documents to retrieve relevant information quickly. + +#### Step 1: Execute Search +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explication :** Utilisez la méthode `search` avec une requête texte simple pour obtenir des résultats à partir de vos données indexées. Cette approche est efficace pour les scénarios de **recherche de documents java**. + +### How to Delete Index Entries + +**Overview:** Manage your index by deleting specific documents using their keys. + +#### Step 1: Delete Document +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Paramètres :** Passez le tableau des clés de documents que vous souhaitez supprimer de l'index. `UpdateOptions` permet des stratégies de suppression flexibles. + +### Retrieving Indexed Documents Post‑Deletion + +**Overview:** After deleting documents, retrieve a list of remaining indexed files to ensure data integrity. + +#### Step 1: Get Remaining Documents +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explication :** Cette étape aide à vérifier l'état actuel de votre index après toute suppression. + +## Practical Applications + +GroupDocs.Search for Java is versatile, offering numerous use cases such as: + +1. **Gestion documentaire d'entreprise :** Recherchez rapidement les documents de l'entreprise pour améliorer la productivité. +2. **Analyse de documents juridiques :** Parcourez efficacement les dossiers et textes juridiques pour trouver les précédents pertinents. +3. **Systèmes de catalogage de bibliothèque :** Indexez et gérez de grandes collections de livres et de manuscrits pour un accès plus facile. + +## Performance Considerations + +For optimal performance: + +- **Optimisation de l'index :** Mettez régulièrement à jour votre index pour refléter les changements récents des documents. +- **Gestion de la mémoire :** Utilisez efficacement le ramasse‑miettes de Java en gérant les opérations gourmandes en ressources. +- **Scalabilité :** Assurez‑vous que votre stratégie d'indexation peut gérer de gros volumes de données sans dégrader les performances. + +## Common Issues and Solutions + +| Issue | Cause | Solution | +|-------|-------|----------| +| **Aucun résultat retourné** | Termes de requête non indexés ou mots‑vides filtrés | Vérifiez `IndexingOptions` et ajustez la liste des mots‑vides | +| **Erreurs de mémoire insuffisante** | Chargement de fichiers très volumineux sans chargement paresseux | Utilisez `Document.createLazy` ou augmentez la taille du tas JVM | +| **Les documents supprimés apparaissent toujours** | Index non rafraîchi après la suppression | Appelez `index.optimize()` ou rouvrez l'index | + +## Frequently Asked Questions + +**Q : Puis‑je indexer des PDF, DOCX et PPTX ensemble ?** +R : Oui, GroupDocs.Search prend en charge un large éventail de formats dès l'installation. + +**Q : Comment fonctionne « how to delete index » en interne ?** +R : La méthode `delete` supprime les entrées basées sur les clés de documents et met à jour les listes d'indexation internes pour garder l'index cohérent. + +**Q : Existe‑t‑il un moyen de surveiller la taille de l'index ?** +R : Utilisez `index.getStatistics()` pour obtenir des informations sur le nombre de documents et la taille de stockage. + +**Q : Dois‑je reconstruire l'intégralité de l'index après chaque suppression ?** +R : Non, l'opération `delete` met à jour l'index de façon incrémentielle, en préservant les données existantes. + +**Q : Que faire si je dois ré‑indexer tous les documents après un changement de schéma ?** +R : Créez une nouvelle instance `Index` avec un chemin de dossier différent et ré‑ajoutez tous les documents. + +## Conclusion + +À présent, vous devriez bien maîtriser **comment indexer des documents java** et effectuer des recherches rapides à l'aide de GroupDocs.Search for Java. Cette bibliothèque puissante peut transformer votre façon de gérer et de récupérer des informations à partir de grandes collections de documents, en faisant un outil indispensable pour toute organisation. + +**Étapes suivantes :** +- Expérimentez avec différents types de documents et des requêtes complexes. +- Explorez les fonctionnalités avancées telles que la recherche à facettes, l'indexation des métadonnées et les analyseurs personnalisés. + +Prêt à démarrer votre parcours d'indexation ? Mettez en œuvre ces techniques dès aujourd'hui et profitez d'une récupération de documents plus rapide et plus précise ! + +--- + +**Dernière mise à jour :** 2025-12-29 +**Testé avec :** GroupDocs.Search Java 25.4 +**Auteur :** GroupDocs \ No newline at end of file diff --git a/content/french/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/french/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..97ad9fb4 --- /dev/null +++ b/content/french/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Apprenez à optimiser les performances de recherche en utilisant les fonctionnalités + d'indexation avancées de GroupDocs.Search pour Java, notamment l'annulation, les + opérations asynchrones, le multithreading et la personnalisation des métadonnées. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimiser les performances de recherche avec des techniques d'indexation avancées + dans GroupDocs.Search pour Java +type: docs +url: /fr/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimiser les performances de recherche avec des techniques d'indexation avancées dans GroupDocs.Search pour Java + +Dans l'environnement numérique actuel, rapide, **optimiser les performances de recherche** est essentiel pour fournir des résultats instantanés aux utilisateurs. Que vous construisiez un moteur de recherche personnalisé ou que vous amélioriez un système de gestion de documents existant, la bonne stratégie d'indexation peut réduire considérablement la latence et la consommation de ressources. Dans ce tutoriel, nous passerons en revue les fonctionnalités les plus puissantes de GroupDocs.Search pour Java — annulation, indexation asynchrone, multithreading et personnalisation des métadonnées — afin que vous puissiez **add documents index** plus rapidement et plus efficacement. + +**Ce que vous apprendrez** + +- Comment annuler une opération d'indexation après un temps spécifié +- Effectuer des opérations d'indexation asynchrones et gérer les changements d'état +- Configurer le multithreading pour une indexation plus rapide +- Personnaliser les options d'indexation des métadonnées + +Assurons‑nous que vous avez tout ce dont vous avez besoin avant de plonger dans le code. + +## Prérequis + +- **GroupDocs.Search Library** – version 25.4 ou ultérieure. +- **Java Development Environment** – JDK 8 ou supérieur est recommandé. +- Familiarité de base avec Java et le concept d'indexation. + +### Configuration de GroupDocs.Search pour Java + +#### Installation Maven + +Ajoutez le dépôt et la dépendance à votre fichier `pom.xml` : + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Téléchargement direct + +Sinon, téléchargez le JAR le plus récent depuis [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Commencez avec un essai gratuit ou demandez une licence temporaire pour débloquer l’ensemble complet des fonctionnalités. + +### Initialisation et configuration de base + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Réponses rapides +- **What does cancellation do?** Arrête l'indexation après un temps défini pour libérer les ressources. +- **Can I index documents asynchronously?** Oui – définissez `options.setAsync(true)`. +- **How many threads can I use?** Tout entier positif ; les valeurs typiques sont 2‑4 pour la plupart des serveurs. +- **Is metadata indexing optional?** Absolument – vous pouvez l'activer ou l'ajuster par champ. +- **Do I need a license for these features?** Un essai fonctionne pour les tests ; une licence complète est requise en production. + +## Qu’est‑ce que « Optimiser les performances de recherche » dans ce contexte ? + +Optimiser les performances de recherche signifie configurer le processus d'indexation afin qu’il consomme la bonne quantité de CPU, de mémoire et de temps tout en livrant instantanément les résultats les plus pertinents. En contrôlant l’annulation, l’exécution asynchrone, le multithreading et la gestion des métadonnées, vous influencez directement la rapidité avec laquelle le moteur peut **add documents index** et répondre aux requêtes. + +## Pourquoi utiliser les fonctionnalités d'indexation avancées ? + +- **Latence réduite** – L’indexation asynchrone et multithread garde votre application réactive. +- **Meilleure gestion des ressources** – L’annulation empêche les processus incontrôlés. +- **Pertinence de recherche adaptée** – Les options de métadonnées vous permettent de mettre en avant les informations les plus importantes. + +## Guide de mise en œuvre + +### Propriété d'annulation + +**Aperçu** – Annulez l'indexation après une durée spécifiée pour éviter une surconsommation des ressources. + +#### Étape 1 : Configurer l’environnement + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Étape 2 : Créer les options d'indexation avec annulation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Points clés** + +- `setCancellation()` active la fonctionnalité. +- `cancelAfter(int milliseconds)` définit le délai d’expiration (3 secondes dans cet exemple). + +### Propriété asynchrone + +**Aperçu** – Exécutez l'indexation sur un thread d’arrière‑plan et écoutez les changements d’état. + +#### Étape 1 : Configurer l’environnement + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Étape 2 : S’abonner à l’événement StatusChanged + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Étape 3 : Configurer les options asynchrones + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Propriété des threads + +**Aperçu** – Accélérez l'indexation en tirant parti de plusieurs cœurs CPU. + +#### Étape 1 : Configurer l’environnement + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Étape 2 : Configurer le multithreading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Propriété des options d'indexation des métadonnées + +**Aperçu** – Ajustez finement quelles métadonnées de document sont indexées et comment elles sont stockées. + +#### Étape 1 : Configurer l’environnement + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Étape 2 : Configurer les options de métadonnées + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Applications pratiques + +1. **Systèmes de gestion de documents** – Utilisez l'indexation asynchrone pour garder l’interface utilisateur réactive pendant le traitement de gros lots en arrière‑plan. +2. **Moteurs de recherche de contenu** – Appliquez l’annulation pour empêcher les tâches longues de monopoliser les ressources serveur pendant les pics de trafic. +3. **Pipelines d’ingestion à grande échelle** – Exploitez le multithreading pour **add documents index** à grande échelle, réduisant drastiquement le temps de traitement. + +## Considérations de performance + +- **Gestion des threads** – Surveillez l’utilisation du CPU ; trop de threads peuvent entraîner un surcoût de commutation de contexte. +- **Empreinte mémoire** – Les limites de métadonnées (par ex., `setMaxBytesToIndexField`) aident à garder la consommation mémoire prévisible. +- **Garbage Collection** – Utilisez les drapeaux JVM appropriés (`-Xmx`, `-XX:+UseG1GC`) lors de l’indexation de corpus massifs. + +## Problèmes courants et solutions + +| Symptôme | Cause probable | Solution | +|----------|----------------|----------| +| L'indexation ne se termine jamais | Annulation définie trop basse | Augmentez la valeur de `cancelAfter` ou supprimez l’annulation pour les tâches longues | +| Aucun mise à jour de statut en mode async | Gestionnaire d'événement mal attaché | Assurez‑vous que `index.getEvents().StatusChanged.add(...)` est appelé avant `index.add` | +| Erreurs de type out‑of‑memory | Trop de threads ou limites de métadonnées élevées | Réduisez `options.setThreads` et diminuez les limites des champs de métadonnées | +| Métadonnées manquantes dans les résultats | Indexation des métadonnées désactivée | Vérifiez que `options.getMetadataIndexingOptions()` est configuré et ne ignore pas les champs | + +## Questions fréquentes + +**Q : Comment obtenir une licence temporaire pour GroupDocs.Search ?** +**R :** Visitez [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q : Puis‑je annuler une opération d'indexation en cours ?** +**R :** Oui – utilisez la propriété d’annulation avec `cancelAfter()` ou appelez `Cancellation.cancel()` programmatiquement. + +**Q : Quels sont les cas d’utilisation de l’indexation asynchrone ?** +**R :** La récupération de documents en temps réel, le traitement par lots en arrière‑plan et les applications à interface réactive bénéficient de l’indexation asynchrone. + +**Q : Est‑il sûr d’augmenter le nombre de threads sur un serveur partagé ?** +**R :** Augmentez progressivement et surveillez la charge CPU ; sur des environnements fortement partagés, maintenez un nombre de threads modeste (2‑4). + +**Q : Comment l’indexation des métadonnées affecte‑t‑elle la pertinence de la recherche ?** +**R :** Des métadonnées correctement indexées (auteur, date de création, tags) peuvent être pondérées davantage dans les requêtes, améliorant ainsi la précision des résultats. + +## Conclusion + +En adoptant ces fonctionnalités avancées de GroupDocs.Search pour Java, vous **optimiserez les performances de recherche** dans une variété de scénarios — de l’ingestion rapide de documents au contrôle fin des métadonnées. Expérimentez avec différentes configurations, surveillez l’utilisation des ressources et adaptez les paramètres à votre charge de travail spécifique pour obtenir les meilleurs résultats. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/german/java/getting-started/_index.md b/content/german/java/getting-started/_index.md new file mode 100644 index 00000000..305a23e8 --- /dev/null +++ b/content/german/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Schritt‑für‑Schritt‑Anleitung zur Konfiguration von GroupDocs.Search + für Java‑Entwickler, die Installation, Lizenzierung und die Erstellung Ihrer ersten + Suchlösung abdeckt. +title: 'Wie man GroupDocs.Search konfiguriert - Einstiegstutorials für Java' +type: docs +url: /de/java/getting-started/ +weight: 1 +--- + +# So konfigurieren Sie GroupDocs.Search - Einstiegstutorials für Java + +Willkommen zum ultimativen Leitfaden, **wie man GroupDocs.Search** für Java-Anwendungen konfiguriert. In diesem Tutorial lernen Sie die wesentlichen Schritte zur Installation der Bibliothek, zur Einrichtung der Lizenzierung und zum Erstellen Ihrer ersten durchsuchbaren Dokumentenlösung. Egal, ob Sie ein neues Projekt starten oder die Suche in einen bestehenden Code integrieren, diese Anleitung liefert Ihnen alles, was Sie benötigen, um schnell loszulegen. + +## Schnellantworten +- **Was ist der erste Schritt?** Installieren Sie das GroupDocs.Search Java-Paket über Maven oder Gradle. +- **Benötige ich eine Lizenz?** Ja – eine temporäre Lizenz funktioniert für die Entwicklung; für die Produktion ist eine Voll‑Lizenz erforderlich. +- **Welcher IDE eignet sich am besten?** Jede Java‑IDE (IntelliJ IDEA, Eclipse, VS Code), die Maven/Gradle‑Projekte unterstützt. +- **Kann ich PDFs und Word‑Dateien indizieren?** Absolut – GroupDocs.Search unterstützt von Haus aus ein breites Spektrum an Dokumentformaten. +- **Wie lange dauert die Einrichtung?** In der Regel weniger als 15 Minuten für ein neues Projekt. + +## Was bedeutet „wie man GroupDocs.Search konfiguriert“? +Die Konfiguration von GroupDocs.Search bedeutet, die Bibliothek für das Indizieren von Dokumenten vorzubereiten, Speicherorte zu definieren und Ihren Lizenzschlüssel anzuwenden, damit die API ohne Einschränkungen arbeiten kann. Eine korrekte Konfiguration sorgt für schnelle, präzise Suchergebnisse und eine reibungslose Integration in Ihren Java‑Code. + +## Warum GroupDocs.Search für Java konfigurieren? +- **Schnelle Implementierung** – Minimaler Code ist erforderlich, um mit dem Indizieren und Suchen zu beginnen. +- **Skalierbares Indizieren** – Bewältigt große Dokumentensammlungen ohne Leistungsverlust. +- **Breite Formatunterstützung** – Arbeitet mit PDFs, DOCX, XLSX, PPTX und vielen anderen Dateitypen. +- **Sichere Lizenzierung** – Gewährleistet Konformität und schaltet alle Premium‑Funktionen frei. + +## Voraussetzungen +- Java Development Kit (JDK) 8 oder höher. +- Maven 3 oder Gradle 5 für das Abhängigkeitsmanagement. +- Zugriff auf einen temporären oder vollständigen GroupDocs.Search‑Lizenzschlüssel. + +## Schritt‑für‑Schritt‑Anleitung + +### Schritt 1: GroupDocs.Search zu Ihrem Projekt hinzufügen +Fügen Sie die GroupDocs.Search‑Abhängigkeit in Ihre `pom.xml` (Maven) oder `build.gradle` (Gradle) ein. Dadurch steht die Bibliothek Ihrem Code zur Verfügung. + +### Schritt 2: Lizenz anwenden +Erstellen Sie ein `License`‑Objekt und laden Sie Ihre temporäre oder permanente Lizenzdatei. Dieser Schritt schaltet die volle Funktionalität frei und entfernt Evaluationsbeschränkungen. + +### Schritt 3: Indexeinstellungen initialisieren +Legen Sie fest, wo die Indexdateien auf der Festplatte gespeichert werden, und konfigurieren Sie ggf. benutzerdefinierte Indexierungsoptionen (z. B. Groß‑/Kleinschreibung, Stoppwörter). + +### Schritt 4: Dokumente indizieren +Verwenden Sie die Klasse `Indexer`, um Dateien oder Ordner zum Index hinzuzufügen. GroupDocs.Search erkennt automatisch Dateitypen und extrahiert durchsuchbaren Text. + +### Schritt 5: Suchabfrage ausführen +Erstellen Sie ein `SearchOptions`‑Objekt, geben Sie die Abfragezeichenfolge an und führen Sie die Suche aus. Die API liefert eine Liste passender Dokumente mit Relevanzwerten. + +### Schritt 6: Ergebnisse prüfen +Iterieren Sie über die Suchergebnisse, zeigen Sie Dateinamen an und heben Sie optional passende Begriffe in der Benutzeroberfläche hervor. + +## Häufige Probleme und Lösungen +- **Lizenz nicht erkannt** – Überprüfen Sie den Pfad zur Lizenzdatei und stellen Sie sicher, dass er zur Version von GroupDocs.Search passt, die Sie verwenden. +- **Fehlende Dokumentformate** – Installieren Sie das optionale Add‑on `groupdocs-conversion`, wenn Sie Unterstützung für weniger gängige Dateitypen benötigen. +- **Leistungsengpässe** – Verwenden Sie inkrementelles Indizieren und konfigurieren Sie den Indexordner auf SSD‑Speicher für schnelleren Zugriff. + +## Häufig gestellte Fragen + +**F: Kann ich GroupDocs.Search auf einem Linux‑Server verwenden?** +A: Ja, die Bibliothek ist plattformunabhängig und läuft auf jedem Betriebssystem, das Java unterstützt. + +**F: Wie aktualisiere ich den Index, nachdem neue Dateien hinzugefügt wurden?** +A: Rufen Sie den `Indexer` erneut mit den neuen Dateien auf; die Bibliothek fügt sie dem bestehenden Index hinzu. + +**F: Gibt es eine Möglichkeit, Suchergebnisse auf einen bestimmten Ordner zu beschränken?** +A: Ja, setzen Sie in den `SearchOptions` einen Ordnerfilter, bevor Sie die Abfrage ausführen. + +**F: Was passiert, wenn ich die Laufzeit der temporären Lizenz überschreite?** +A: Die API arbeitet weiterhin im Evaluierungsmodus mit eingeschränkten Funktionen; ersetzen Sie die Lizenzdatei durch einen permanenten Schlüssel, um die volle Funktionalität wiederherzustellen. + +**F: Unterstützt GroupDocs.Search unscharfe Suche?** +A: Absolut – aktivieren Sie die unscharfe Übereinstimmung in den `SearchOptions`, um Ergebnisse mit kleinen Rechtschreibvariationen zu erhalten. + +## Zusätzliche Ressourcen + +### Verfügbare Tutorials + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Erfahren Sie, wie Sie GroupDocs.Search für Java mit diesem Schritt‑für‑Schritt‑Leitfaden bereitstellen und konfigurieren. Verbessern Sie die Dokumentenindizierung und Suchfunktionen in Ihren Projekten. + +### Hilfreiche Links +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Zuletzt aktualisiert:** 2025-12-29 +**Getestet mit:** GroupDocs.Search 23.12 for Java +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/german/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/german/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..58eebf1e --- /dev/null +++ b/content/german/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Erfahren Sie, wie Sie das Verzeichnis in Java bereinigen, die Dokumentenverwaltung + automatisieren und Dateien mit GroupDocs.Search für Java umbenennen. Steigern Sie + die Effizienz Ihrer Anwendungen. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Verzeichnis bereinigen Java – Indexierung und Umbenennung automatisieren +type: docs +url: /de/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatisieren der Dokumentenindizierung und -umbenennung mit GroupDocs.Search + +Wenn Sie **clean directory java** benötigen und gleichzeitig die Dokumentenindizierung und -umbenennung automatisieren möchten, sind Sie hier genau richtig. Das manuelle Verschieben, Löschen und Aktualisieren von Indizes ist fehleranfällig und zeitaufwendig. In diesem Tutorial zeigen wir Ihnen, wie Java die schwere Arbeit übernimmt, indem **GroupDocs.Search for Java** verwendet wird, um einen durchsuchbaren Index zu erstellen, Dateien umzubenennen und den Index automatisch synchron zu halten. + +## Schnelle Antworten +- **Was bedeutet “clean directory java”?** Löschen aller Dateien/Ordner innerhalb eines Zielverzeichnisses mittels Java‑Code. +- **Welche Bibliothek erstellt den durchsuchbaren Index?** GroupDocs.Search for Java. +- **Wie benenne ich ein Dokument um und halte den Index aktuell?** Verwenden Sie `File.renameTo()` und benachrichtigen Sie den Index mit `Notification.createRenameNotification`. +- **Kann ich Dateien nach dem Bereinigen des Ordners kopieren?** Ja – Java‑Streams können Dateien kopieren und dabei den Index erhalten. +- **Ist für die Produktion eine Lizenz erforderlich?** Für die kommerzielle Nutzung ist eine gültige GroupDocs.Search‑Lizenz nötig. + +## Was ist “clean directory java”? +Ein Verzeichnis in Java zu bereinigen bedeutet, programmgesteuert jede Datei und jedes Unterverzeichnis innerhalb eines angegebenen Ordners zu entfernen. Dies ist häufig ein notwendiger Schritt, bevor frische Dateien kopiert oder ein Index neu aufgebaut wird, um sicherzustellen, dass veraltete Daten die Suchergebnisse nicht beeinträchtigen. + +## Warum Dokumentenindizierung und -umbenennung automatisieren? +- **Automatisierung des Dokumentenmanagements** reduziert manuellen Aufwand und eliminiert menschliche Fehler. +- Der Schritt **create searchable index** ermöglicht es, jedes Dokument sofort über dessen Inhalt zu finden. +- Das Umbenennen von Dateien ohne Aktualisierung des Index würde die Suchgenauigkeit beeinträchtigen; Automatisierung sorgt für Konsistenz. + +## Voraussetzungen + +- **GroupDocs.Search for Java** (Version 25.4 oder neuer) +- JDK 8 + und eine IDE wie IntelliJ IDEA oder Eclipse +- Grundkenntnisse in Java, insbesondere Datei‑I/O + +## Einrichtung von GroupDocs.Search for Java + +### Maven‑Abhängigkeit +Fügen Sie das Repository und die Abhängigkeit zu Ihrer `pom.xml` hinzu: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direkter Download +Alternativ können Sie die neueste Version von [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) herunterladen. + +### Lizenz +Erhalten Sie eine kostenlose Testversion, eine temporäre Evaluierungslizenz oder erwerben Sie eine Voll‑Lizenz für den Produktionseinsatz. + +### Grundlegende Initialisierung +Erstellen Sie eine `Index`‑Instanz, die die durchsuchbaren Daten hält: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementierungs‑Leitfaden + +### 1. Dokumente zum Index hinzufügen (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Erklärung*: +- `indexFolder` – Speicherort der Indexdateien. +- `documentFolder` – Quellordner, der die Dateien enthält, die durchsuchbar gemacht werden sollen. + +### 2. Ein Dokument umbenennen und den Index benachrichtigen + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Erklärung*: +- Java‑Methode `File.renameTo()` führt die physische Umbenennung durch. +- `Notification.createRenameNotification()` teilt GroupDocs.Search mit, dass sich der Dateiname geändert hat, sodass der Index korrekt bleibt. + +## Clean Directory Java – Verzeichnisbereinigung und Dateikopie + +Ein Ordner vor einer Massenkopie sauber zu halten, verhindert doppelte oder verwaiste Dateien. Nachfolgend zwei wiederverwendbare Code‑Snippets. + +### Schritt 1: Ordnerinhalt löschen (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Erklärung*: +- `Files.walk()` durchläuft jede Datei und jedes Unterverzeichnis. +- Das Sortieren in umgekehrter Reihenfolge stellt sicher, dass Dateien vor ihren übergeordneten Ordnern gelöscht werden, wodurch **delete folder contents** effektiv umgesetzt wird. + +### Schritt 2: Dateien kopieren (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Erklärung*: +- Der Stream filtert nur reguläre Dateien und kopiert jede in das Zielverzeichnis, wobei vorhandene Dateien bei Bedarf überschrieben werden. + +## Praktische Anwendungsfälle + +- **Enterprise Document Management** – Indizierung für tausende Verträge automatisieren und Dateinamen synchron halten. +- **Rechtsanwaltskanzleien** – Fallakten schnell umbenennen und gleichzeitig durchsuchbaren Inhalt bewahren. +- **Content‑Management‑Systeme** – Das Clean‑Directory‑Muster nutzen, um Medienordner ohne manuelle Aufräumarbeiten zu aktualisieren. + +## Leistungsüberlegungen + +- **Indexgröße** – Index periodisch komprimieren, wenn er stark anwächst. +- **Speichernutzung** – Dateien stapelweise verarbeiten, um `OutOfMemoryError` zu vermeiden. +- **Parallelität** – Für Bulk‑Operationen Java‑`ExecutorService` einsetzen, um Bereinigung und Kopieren zu parallelisieren. + +## Häufige Probleme & Tipps + +| Problem | Ursache | Lösung | +|---------|---------|--------| +| Umbenennen schlägt fehl | Datei ist gesperrt oder Pfad ungültig | Sicherstellen, dass die Datei nicht anderweitig geöffnet ist; `Files.move` für zuverlässigere Umbenennungen verwenden. | +| Index wird nicht aktualisiert | Benachrichtigung nicht gesendet | Immer `index.notifyIndex(notification)` aufrufen, gefolgt von `index.update()`. | +| Veraltete Suchergebnisse nach Kopie | Index verweist noch auf alte Dateien | Zielordner erneut zum Index hinzufügen oder `index.update()` nach dem Kopieren ausführen. | + +## Häufig gestellte Fragen + +**F: Kann ich ein Verzeichnis bereinigen, das Unterordner enthält?** +A: Ja. Der Ansatz mit `Files.walk()` löscht rekursiv alle verschachtelten Dateien und Ordner. + +**F: Muss ich den gesamten Index nach jeder Umbenennung neu aufbauen?** +A: Nein. Das Senden einer Rename‑Benachrichtigung und das Aufrufen von `index.update()` reicht aus. + +**F: Wie groß darf ein Ordner sein, bevor Leistungsgrenzen erreicht werden?** +A: Das hängt vom JVM‑Speicher ab; die Verarbeitung in kleineren Batches oder die Nutzung von Streams hilft, große Datenmengen zu bewältigen. + +**F: Ist GroupDocs.Search für die Entwicklung kostenlos?** +A: Eine kostenlose Testversion ist verfügbar, für den Produktionseinsatz ist jedoch eine kostenpflichtige Lizenz erforderlich. + +**F: Kann ich diesen Ansatz mit anderen Dateitypen (z. B. PDFs, DOCX) verwenden?** +A: Absolut. GroupDocs.Search unterstützt viele Formate; fügen Sie einfach den Ordner mit diesen Dateien dem Index hinzu. + +## Fazit + +Sie verfügen nun über eine vollständige, produktionsreife Lösung für **clean directory java**, das Hinzufügen von Dokumenten zu einem durchsuchbaren Index, das Umbenennen von Dateien und das automatische Synchronisieren mit GroupDocs.Search. Nutzen Sie diese Muster, um Ihren Dokumenten‑Management‑Workflow zu automatisieren und von schnelleren, zuverlässigeren Sucherlebnissen zu profitieren. + +--- + +**Zuletzt aktualisiert:** 2025-12-29 +**Getestet mit:** GroupDocs.Search 25.4 +**Autor:** GroupDocs + +--- \ No newline at end of file diff --git a/content/german/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/german/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..ca9f1082 --- /dev/null +++ b/content/german/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: Erfahren Sie, wie Sie Dokumentenpasswörter in Java mit GroupDocs.Search + verwalten, durchsuchbare Indizes erstellen und effizient über mehrere Dokumente + suchen. +keywords: +- manage document passwords java +- search across multiple documents +title: Dokument-Passwörter in Java mit GroupDocs.Search verwalten +type: docs +url: /de/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Dokumentpasswörter in Java mit GroupDocs.Search verwalten + +In modernen Unternehmensanwendungen ist **manage document passwords Java** ein entscheidender Schritt, um sensible Dateien sicher zu halten und gleichzeitig eine schnelle, zuverlässige Suche zu ermöglichen. In diesem Leitfaden zeigen wir Ihnen, wie Sie Indizes mit GroupDocs.Search erstellen und verwalten, Passwörter sicher im Index‑Wörterbuch speichern und dann **search across multiple documents** mühelos durchführen. Egal, ob Sie ein Dokument‑Management‑System aufbauen oder die Suche zu einer bestehenden Java‑App hinzufügen, die nachfolgenden Schritte bringen Sie schnell ans Ziel. + +## Schnelle Antworten +- **Was bedeutet “manage document passwords Java”?** Es bezieht sich auf das Speichern und Abrufen von Passwörtern für geschützte Dateien direkt im Suchindex. +- **Kann ich passwortgeschützte Dateien indexieren?** Ja – fügen Sie die Passwörter dem Index‑Wörterbuch hinzu, bevor Sie indexieren. +- **Wie viele Dokumente kann ich gleichzeitig durchsuchen?** GroupDocs.Search kann **search across multiple documents** in einer einzigen Abfrage. +- **Benötige ich eine Lizenz für die Produktion?** Eine Lizenz ist für den Produktionseinsatz erforderlich; ein kostenloser Testzeitraum steht für die Evaluierung zur Verfügung. +- **Welche Java‑Version wird benötigt?** JDK 8 oder höher. + +## Was ist “manage document passwords Java”? +Das Speichern von Dokumentpasswörtern im Suchindex ermöglicht es der Engine, geschützte Dateien während des Indexierens und Suchens automatisch zu öffnen, wodurch die manuelle Passworteingabe jedes Mal entfällt. + +## Warum GroupDocs.Search für diese Aufgabe verwenden? +- **Built‑in password dictionary** – Passwörter an Dateipfade binden. +- **High‑performance indexing** – Tausende von Dateien schnell verarbeiten. +- **Rich query language** – unterstützt komplexe Suchen über viele Dokumenttypen. + +## Voraussetzungen +- **JDK 8+** installiert. +- **Maven** für die Abhängigkeitsverwaltung. +- Grundkenntnisse in Java (Dateiverarbeitung, Klassen). + +## Einrichtung von GroupDocs.Search für Java + +Fügen Sie das Repository und die Abhängigkeit zu Ihrer `pom.xml` hinzu: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Sie können die Bibliothek auch direkt von der offiziellen Release‑Seite herunterladen: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Index initialisieren + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Wie verwalte ich Dokumentpasswörter in Java? + +### 1. Definieren Sie den Indexordner und erstellen Sie den Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Vorhandene Passwörter löschen (falls vorhanden) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Ein Passwort für ein bestimmtes Dokument hinzufügen +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Ein Passwort abrufen und entfernen +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Passwörter zu mehreren Dokumenten hinzufügen +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Wie indexiere ich Dokumente mit Passwörtern? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Wie suche ich über mehrere Dokumente hinweg? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Praktische Anwendungen +- **Enterprise Document Management** – sichere, durchsuchbare Archive. +- **Content Management Platforms** – schnelle Abrufung geschützter Assets. +- **Legal Document Repositories** – Vertraulichkeit wahren und gleichzeitig Volltextsuche ermöglichen. + +## Leistungsüberlegungen +- **Parallel Indexing** – mehrere Threads für große Stapel verwenden. +- **Memory Monitoring** – den JVM‑Heap bei massiven Importen im Auge behalten. +- **Regular Index Maintenance** – neu indexieren, wenn Dateien geändert oder Passwörter aktualisiert werden. + +## Fazit +Sie wissen jetzt, wie Sie **manage document passwords Java** mit GroupDocs.Search durchführen, robuste Indizes erstellen und leistungsstarke **search across multiple documents** ausführen. Durch die Integration dieser Schritte in Ihre Anwendung bieten Sie sichere, schnelle und skalierbare Sucherlebnisse. + +**Nächste Schritte** +- Probieren Sie erweiterte Abfrageoperatoren aus (Platzhalter, unscharfe Suche). +- Erkunden Sie inkrementelles Indexieren für Echtzeit‑Updates. +- Kombinieren Sie mit anderen GroupDocs‑Produkten für PDF‑Konvertierung oder Annotation. + +## Häufig gestellte Fragen + +**Q: Kann ich große Mengen von Dokumenten indexieren?** +A: Ja, GroupDocs.Search ist dafür ausgelegt, umfangreiche Sammlungen effizient zu verarbeiten. + +**Q: Ist es möglich, einen bestehenden Index mit neuen Dokumenten zu aktualisieren?** +A: Absolut! Sie können nach Bedarf Dokumente zu Ihrem Index hinzufügen oder entfernen. + +**Q: Wie stelle ich die Sicherheit meiner indizierten Daten sicher?** +A: Verwenden Sie das Dokument‑Passwort‑Wörterbuch und speichern Sie den Index in einem geschützten Verzeichnis. + +**Q: Kann GroupDocs.Search verschiedene Dateiformate verarbeiten?** +A: Ja, es unterstützt PDFs, Word‑Dateien, Excel‑Tabellen und viele andere gängige Formate. + +**Q: Was tun, wenn ich während des Indexierens Leistungsprobleme feststelle?** +A: Erwägen Sie die Aktivierung von Parallelverarbeitung, die Erhöhung der Heap‑Größe oder das Anpassen der Indexeinstellungen. + +--- + +**Zuletzt aktualisiert:** 2025-12-29 +**Getestet mit:** GroupDocs.Search 25.4 für Java +**Autor:** GroupDocs + +**Ressourcen** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/german/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/german/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..dd91f4c0 --- /dev/null +++ b/content/german/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,249 @@ +--- +date: '2025-12-29' +description: Learn how to index java documents and create search index with GroupDocs.Search + for Java. This guide covers setup, indexing, searching, and managing documents efficiently. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Wie man Java‑Dokumente mit GroupDocs.Search indiziert – Effiziente Suche +type: docs +url: /de/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Wie man Java-Dokumente mit GroupDocs.Search indiziert – Effiziente Suche + +## Einführung + +Sind Sie von einer riesigen Menge an Dokumenten überwältigt und fragen sich, **wie man Java**‑Dateien schnell indiziert? Viele Unternehmen und Einzelpersonen stehen täglich vor dieser Herausforderung. **GroupDocs.Search for Java** bietet eine effiziente Lösung, um Dokumentensuchen zu optimieren, sodass der Prozess schneller und übersichtlicher wird. + +In diesem Tutorial führen wir Sie durch die Verwendung von GroupDocs.Search for Java, um ein indiziertes Repository Ihrer Dokumente zu erstellen. Sie lernen, wie Sie Dokumente aus einem Dateisystem laden, Suchen durchführen, Löschungen verwalten und indizierte Daten effizient und skalierbar abrufen. + +**Was Sie lernen werden:** +- Einrichtung und Konfiguration von GroupDocs.Search for Java. +- **Erstellen eines Suchindexes** und Indizieren von Dokumenten aus Streams. +- Laden von Dokumenten aus dem Dateisystem. +- **Durchführen einer Stichwortsuche** in Ihrem Index. +- **Wie man Indexeinträge** für bestimmte Dokumente löscht. +- Abrufen indizierter Dokumente nach Löschungen. + +Bereit, die Art und Weise, wie Sie Dokumentensuchen verwalten, zu revolutionieren? Lassen Sie uns mit den Voraussetzungen beginnen! + +## Schnellantworten +- **Was ist der Hauptzweck?** Java‑Dokumente effizient indizieren und durchsuchen. +- **Welche Bibliothek wird benötigt?** GroupDocs.Search for Java (v25.4+). +- **Benötige ich eine Lizenz?** Eine kostenlose Testversion oder temporäre Lizenz ist verfügbar; für die Produktion ist eine permanente Lizenz erforderlich. +- **Kann ich Dokumente aus dem Index löschen?** Ja, mittels der `delete`‑Methode mit Dokumentenschlüsseln. +- **Ist Apache Commons IO zwingend erforderlich?** Es wird für Dateiverarbeitungs‑Utilities empfohlen. + +## Was bedeutet „how to index java“? +Das Indizieren von Java‑Dokumenten bedeutet, eine durchsuchbare Datenstruktur (einen Index) zu erstellen, die den Dokumentinhalt zu durchsuchbaren Begriffen abbildet und so eine schnelle Wiederauffindung relevanter Dateien anhand von Stichwortabfragen ermöglicht. + +## Warum GroupDocs.Search for Java verwenden? +- **Geschwindigkeit:** Optimierte Algorithmen liefern schnelle Abfrageergebnisse selbst bei großen Sammlungen. +- **Skalierbarkeit:** Verarbeitet Tausende von Dokumenten, ohne die Leistung zu beeinträchtigen. +- **Flexibilität:** Unterstützt verschiedene Dateiformate und bietet Lazy Loading für große Dateien. +- **Einfache Integration:** Einfache Maven‑Einrichtung und unkomplizierte API. + +## Voraussetzungen + +Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben: + +### Erforderliche Bibliotheken und Abhängigkeiten +- **GroupDocs.Search for Java**: Stellen Sie sicher, dass Version 25.4 oder später installiert ist. +- **Apache Commons IO**: Wird für Dateiverarbeitungs‑Utilities benötigt. + +### Anforderungen an die Umgebung +- Java Development Kit (JDK) 8 oder höher. +- Integrierte Entwicklungsumgebung (IDE) wie IntelliJ IDEA oder Eclipse. + +### Wissensvoraussetzungen +- Grundlegendes Verständnis der Java‑Programmierung und objektorientierter Konzepte. +- Vertrautheit mit Maven für das Abhängigkeitsmanagement ist vorteilhaft, aber nicht zwingend erforderlich. + +## Einrichtung von GroupDocs.Search for Java + +Die Einrichtung Ihrer Projektumgebung mit GroupDocs.Search erfolgt über die folgenden Schritte mit Maven: + +**Maven-Konfiguration:** +Fügen Sie das folgende Repository und die Abhängigkeit zu Ihrer `pom.xml`‑Datei hinzu: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Direkter Download:** +Alternativ laden Sie die neueste Version direkt von [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) herunter. + +### Schritte zum Erwerb einer Lizenz +- **Kostenlose Testversion:** Beginnen Sie mit einer kostenlosen Testversion, um die Funktionen zu testen. +- **Temporäre Lizenz:** Beantragen Sie eine temporäre Lizenz, um alle Funktionen ohne Einschränkungen zu erkunden. +- **Kauf:** Erwägen Sie den Kauf, wenn es Ihren Anforderungen entspricht. + +**Grundlegende Initialisierung und Einrichtung:** + +Sobald Ihre Umgebung bereit ist, initialisieren Sie GroupDocs.Search wie folgt: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Wie man Java-Dokumente mit GroupDocs.Search indiziert + +### Erstellen und Indizieren von Dokumenten + +**Übersicht:** Erfahren Sie, wie Sie einen Index in einem angegebenen Ordner erstellen und Dokumente aus Streams hinzufügen, wodurch der **create search index**‑Prozess optimiert wird. + +#### Schritt 1: Index erstellen +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameter:** Der erste Parameter ist der Verzeichnispfad zur Speicherung der Indizes. Der zweite boolesche Wert aktiviert die automatische Aktualisierung des Index, falls er bereits existiert. + +#### Schritt 2: Laden und Hinzufügen von Dokumenten aus einem Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Erklärung:** Hier erstellen Sie einen `DocumentLoader`, um die Datei zu lesen und für das Indizieren vorzubereiten. Die Methode `createLazy` wird verwendet, um große Dateien effizient zu verarbeiten. + +### Laden von Dokumenten aus dem Dateisystem + +**Übersicht:** Implementieren Sie einen benutzerdefinierten Loader, der Dokumente direkt aus Ihrem Dateisystem mit den Apache Commons IO‑Utilities liest. + +#### Schritt 1: Dokument‑Loader definieren +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Details:** Diese Klasse liest die Datei in ein Byte‑Array ein und erstellt daraus ein `Document`‑Objekt. + +### Durchführung einer Stichwortsuche in einem Index + +**Übersicht:** Führen Sie Suchvorgänge auf Ihren indizierten Dokumenten aus, um schnell relevante Informationen zu erhalten. + +#### Schritt 1: Suche ausführen +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Erklärung:** Verwenden Sie die `search`‑Methode mit einer einfachen Textabfrage, um Ergebnisse aus Ihren indizierten Daten zu erhalten. Dieser Ansatz ist effizient für **java document search**‑Szenarien. + +### Wie man Indexeinträge löscht + +**Übersicht:** Verwalten Sie Ihren Index, indem Sie bestimmte Dokumente anhand ihrer Schlüssel löschen. + +#### Schritt 1: Dokument löschen +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameter:** Übergeben Sie das Array von Dokumentenschlüsseln, die Sie aus dem Index entfernen möchten. `UpdateOptions` ermöglicht flexible Löschstrategien. + +### Abrufen indizierter Dokumente nach dem Löschen + +**Übersicht:** Nach dem Löschen von Dokumenten rufen Sie eine Liste der verbleibenden indizierten Dateien ab, um die Datenintegrität sicherzustellen. + +#### Schritt 1: Verbleibende Dokumente abrufen +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Erklärung:** Dieser Schritt hilft, den aktuellen Zustand Ihres Index nach Löschungen zu überprüfen. + +## Praktische Anwendungsfälle + +GroupDocs.Search for Java ist vielseitig und bietet zahlreiche Anwendungsfälle, wie zum Beispiel: + +1. **Enterprise Document Management:** Durchsuchen Sie Unternehmensdokumente schnell, um die Produktivität zu steigern. +2. **Legal Document Analysis:** Durchsuchen Sie Fallakten und juristische Texte effizient, um relevante Präzedenzfälle zu finden. +3. **Library Cataloging Systems:** Indizieren und verwalten Sie große Sammlungen von Büchern und Manuskripten für einen leichteren Zugriff. + +## Leistungsüberlegungen + +Für optimale Leistung: + +- **Indexoptimierung:** Aktualisieren Sie Ihren Index regelmäßig, um aktuelle Änderungen an Dokumenten zu berücksichtigen. +- **Speichermanagement:** Nutzen Sie die Garbage Collection von Java effektiv, indem Sie ressourcenintensive Vorgänge verwalten. +- **Skalierbarkeit:** Stellen Sie sicher, dass Ihre Indexierungsstrategie große Datenmengen verarbeiten kann, ohne die Leistung zu beeinträchtigen. + +## Häufige Probleme und Lösungen + +| Problem | Ursache | Lösung | +|-------|-------|----------| +| **Keine Ergebnisse zurückgegeben** | Abfragebegriffe wurden nicht indiziert oder Stop‑Wörter gefiltert | Überprüfen Sie `IndexingOptions` und passen Sie die Stop‑Wort‑Liste an | +| **Out‑of‑Memory‑Fehler** | Laden sehr großer Dateien ohne Lazy Loading | Verwenden Sie `Document.createLazy` oder erhöhen Sie die JVM‑Heap‑Größe | +| **Gelöschte Dokumente erscheinen weiterhin** | Index nach dem Löschen nicht aktualisiert | Rufen Sie `index.optimize()` auf oder öffnen Sie den Index erneut | + +## Häufig gestellte Fragen + +**F: Kann ich PDFs, DOCX und PPTX zusammen indizieren?** +A: Ja, GroupDocs.Search unterstützt von Haus aus ein breites Spektrum an Formaten. + +**F: Wie funktioniert „how to delete index“ im Hintergrund?** +A: Die `delete`‑Methode entfernt Einträge basierend auf Dokumentenschlüsseln und aktualisiert interne Posting‑Listen, um den Index konsistent zu halten. + +**F: Gibt es eine Möglichkeit, die Indexgröße zu überwachen?** +A: Verwenden Sie `index.getStatistics()`, um Informationen über die Dokumentanzahl und den Speicherplatz zu erhalten. + +**F: Muss ich den gesamten Index nach jeder Löschung neu aufbauen?** +A: Nein, die `delete`‑Operation aktualisiert den Index inkrementell und bewahrt vorhandene Daten. + +**F: Was ist, wenn ich nach einer Schemaänderung alle Dokumente neu indizieren muss?** +A: Erstellen Sie eine neue `Index`‑Instanz mit einem anderen Ordnerpfad und fügen Sie alle Dokumente erneut hinzu. + +## Fazit + +Bis jetzt sollten Sie ein solides Verständnis davon haben, **wie man Java**‑Dokumente indiziert und schnelle Suchen mit GroupDocs.Search for Java durchführt. Diese leistungsstarke Bibliothek kann die Art und Weise, wie Sie Informationen aus großen Dokumentensammlungen verwalten und abrufen, transformieren und ist ein unverzichtbares Werkzeug für jede Organisation. + +**Nächste Schritte:** +- Experimentieren Sie mit verschiedenen Dokumenttypen und komplexen Abfragen. +- Erkunden Sie erweiterte Funktionen wie facettierte Suche, Metadaten‑Indizierung und benutzerdefinierte Analyzer. + +Bereit, Ihre Indexierungsreise zu beginnen? Implementieren Sie diese Techniken noch heute und erleben Sie schnellere, genauere Dokumentenabfragen! + +--- + +**Zuletzt aktualisiert:** 2025-12-29 +**Getestet mit:** GroupDocs.Search Java 25.4 +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/german/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/german/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..20493100 --- /dev/null +++ b/content/german/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Erfahren Sie, wie Sie die Suchleistung mithilfe der erweiterten Indexierungsfunktionen + von GroupDocs.Search für Java optimieren, einschließlich Abbruch, asynchroner Vorgänge, + Multithreading und Metadatenanpassung. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimieren Sie die Suchleistung mit fortschrittlichen Indexierungstechniken + in GroupDocs.Search für Java +type: docs +url: /de/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimieren der Suchleistung mit fortgeschrittenen Indexierungstechniken in GroupDocs.Search für Java + +In der heutigen schnelllebigen digitalen Umgebung ist **die Optimierung der Suchleistung** entscheidend, um den Benutzern sofortige Ergebnisse zu liefern. Egal, ob Sie eine benutzerdefinierte Suchmaschine erstellen oder ein bestehendes Dokumentenverwaltungssystem erweitern, die richtige Indexierungsstrategie kann die Latenz und den Ressourcenverbrauch dramatisch reduzieren. In diesem Tutorial führen wir Sie durch die leistungsstärksten Funktionen von GroupDocs.Search für Java – Abbruch, asynchrone Indexierung, Multi‑Threading und Metadaten‑Anpassung – damit Sie **add documents index** schneller und effizienter durchführen können. + +**Was Sie lernen werden** + +- Wie man einen Indexierungsvorgang nach einer festgelegten Zeit abbricht +- Durchführen asynchroner Indexierungsvorgänge und Handhabung von Statusänderungen +- Konfigurieren von Multi‑Threading für schnellere Indexierung +- Anpassen von Metadaten‑Indexierungsoptionen + +Stellen wir sicher, dass Sie alles haben, was Sie benötigen, bevor wir in den Code eintauchen. + +## Prerequisites + +- **GroupDocs.Search Library** – Version 25.4 oder höher. +- **Java Development Environment** – JDK 8 oder höher wird empfohlen. +- Grundlegende Kenntnisse in Java und dem Konzept der Indexierung. + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +Fügen Sie das Repository und die Abhängigkeit zu Ihrer `pom.xml`‑Datei hinzu: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +Alternativ laden Sie das neueste JAR von [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) herunter. + +**License Acquisition** – Beginnen Sie mit einer kostenlosen Testversion oder beantragen Sie eine temporäre Lizenz, um das vollständige Funktionsset freizuschalten. + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **Was bewirkt der Abbruch?** Stoppt die Indexierung nach einer festgelegten Zeit, um Ressourcen freizugeben. +- **Kann ich Dokumente asynchron indexieren?** Ja – setzen Sie `options.setAsync(true)`. +- **Wie viele Threads kann ich verwenden?** Jede positive ganze Zahl; typische Werte liegen bei 2‑4 für die meisten Server. +- **Ist die Metadaten‑Indexierung optional?** Absolut – Sie können sie pro Feld aktivieren oder feinjustieren. +- **Benötige ich eine Lizenz für diese Funktionen?** Eine Testversion reicht für Tests; für die Produktion ist eine Voll‑Lizenz erforderlich. + +## Was bedeutet „Optimieren der Suchleistung“ in diesem Kontext? + +Die Optimierung der Suchleistung bedeutet, den Indexierungsprozess so zu konfigurieren, dass er die richtige Menge an CPU, Speicher und Zeit verbraucht und gleichzeitig die relevantesten Ergebnisse sofort liefert. Durch die Steuerung von Abbruch, asynchroner Ausführung, Threading und Metadaten‑Verarbeitung beeinflussen Sie direkt, wie schnell die Engine **add documents index** kann und auf Abfragen reagiert. + +## Warum fortgeschrittene Indexierungsfunktionen verwenden? + +- **Reduzierte Latenz** – Asynchrone und multithreaded Indexierung hält Ihre Anwendung reaktionsfähig. +- **Besseres Ressourcen‑Management** – Der Abbruch verhindert unkontrollierte Prozesse. +- **Gezielte Suchrelevanz** – Metadaten‑Optionen ermöglichen es, die wichtigsten Informationen hervorzuheben. + +## Implementation Guide + +### Cancellation Property + +**Übersicht** – Stoppt die Indexierung nach einer festgelegten Dauer, um eine Überbeanspruchung von Ressourcen zu vermeiden. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Wichtige Punkte** + +- `setCancellation()` aktiviert die Funktion. +- `cancelAfter(int milliseconds)` definiert das Timeout (3 Sekunden in diesem Beispiel). + +### Asynchronous Property + +**Übersicht** – Führt die Indexierung in einem Hintergrund‑Thread aus und lauscht auf Statusänderungen. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Übersicht** – Beschleunigt die Indexierung durch Nutzung mehrerer CPU‑Kerne. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Übersicht** – Feinabstimmung, welche Dokumenten‑Metadaten indexiert werden und wie sie gespeichert werden. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **Dokumentenverwaltungssysteme** – Verwenden Sie asynchrone Indexierung, um die UI reaktionsfähig zu halten, während große Stapel im Hintergrund verarbeitet werden. +2. **Content‑Suchmaschinen** – Setzen Sie den Abbruch ein, um zu verhindern, dass langlaufende Jobs während Spitzenlasten Serverressourcen beanspruchen. +3. **Groß‑skalige Ingestion‑Pipelines** – Nutzen Sie Multi‑Threading, um **add documents index** in großem Umfang durchzuführen und die Verarbeitungszeit drastisch zu verkürzen. + +## Performance Considerations + +- **Thread‑Management** – Überwachen Sie die CPU‑Auslastung; zu viele Threads können Overhead durch Kontextwechsel verursachen. +- **Speicherverbrauch** – Metadaten‑Grenzwerte (z. B. `setMaxBytesToIndexField`) helfen, den Speicherverbrauch vorhersehbar zu halten. +- **Garbage Collection** – Verwenden Sie geeignete JVM‑Flags (`-Xmx`, `-XX:+UseG1GC`) beim Indexieren großer Korpora. + +## Common Issues and Solutions + +| Symptom | Wahrscheinliche Ursache | Lösung | +|---------|--------------------------|--------| +| Indexierung endet nie | Abbruch zu niedrig eingestellt | Erhöhen Sie den `cancelAfter`‑Wert oder entfernen Sie den Abbruch für lange Jobs | +| Keine Status‑Updates im Async‑Modus | Ereignis‑Handler nicht korrekt angebunden | Stellen Sie sicher, dass `index.getEvents().StatusChanged.add(...)` vor `index.add` aufgerufen wird | +| Out‑of‑Memory‑Fehler | Zu viele Threads oder hohe Metadaten‑Grenzwerte | `options.setThreads` reduzieren und Metadaten‑Feld‑Grenzwerte senken | +| Fehlende Metadaten in den Ergebnissen | Metadaten‑Indexierung deaktiviert | Überprüfen Sie, ob `options.getMetadataIndexingOptions()` konfiguriert ist und nicht auf das Ignorieren von Feldern eingestellt ist | + +## Frequently Asked Questions + +**F: Wie erhalte ich eine temporäre Lizenz für GroupDocs.Search?** +A: Besuchen Sie die [temporäre Lizenzseite von GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**F: Kann ich einen Indexierungsvorgang mitten im Prozess abbrechen?** +A: Ja – verwenden Sie die Abbruch‑Eigenschaft mit `cancelAfter()` oder rufen Sie `Cancellation.cancel()` programmgesteuert auf. + +**F: Was sind einige Anwendungsfälle für asynchrone Indexierung?** +A: Echtzeit‑Dokumentenabruf, Hintergrund‑Batch‑Verarbeitung und UI‑reaktionsfähige Anwendungen profitieren von asynchroner Indexierung. + +**F: Ist es sicher, die Thread‑Anzahl auf einem geteilten Server zu erhöhen?** +A: Erhöhen Sie schrittweise und überwachen Sie die CPU‑Auslastung; in stark geteilten Umgebungen halten Sie die Thread‑Anzahl moderat (2‑4). + +**F: Wie beeinflusst die Metadaten‑Indexierung die Suchrelevanz?** +A: Richtig indexierte Metadaten (Autor, Erstellungsdatum, Tags) können in Abfragen höher gewichtet werden, wodurch die Ergebnisgenauigkeit verbessert wird. + +## Conclusion + +Durch die Nutzung dieser fortgeschrittenen Funktionen von GroupDocs.Search für Java werden Sie **die Suchleistung optimieren** in einer Vielzahl von Szenarien – von schneller Dokumenten‑Ingestion bis hin zu feinkörniger Metadaten‑Steuerung. Experimentieren Sie mit verschiedenen Konfigurationen, überwachen Sie den Ressourcenverbrauch und passen Sie die Einstellungen an Ihre spezifische Arbeitslast an, um die besten Ergebnisse zu erzielen. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/greek/java/getting-started/_index.md b/content/greek/java/getting-started/_index.md new file mode 100644 index 00000000..7f168043 --- /dev/null +++ b/content/greek/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Οδηγός βήμα προς βήμα για το πώς να διαμορφώσετε το GroupDocs.Search + για προγραμματιστές Java, καλύπτοντας την εγκατάσταση, την αδειοδότηση και τη δημιουργία + της πρώτης σας λύσης αναζήτησης. +title: 'Πώς να διαμορφώσετε το GroupDocs.Search - Μαθήματα εκκίνησης για Java' +type: docs +url: /el/java/getting-started/ +weight: 1 +--- + +# Πώς να Διαμορφώσετε το GroupDocs.Search - Εκπαιδευτικά Μαθήματα Έναρξης για Java + +Καλώς ήρθατε στον απόλυτο οδηγό για **πώς να διαμορφώσετε το GroupDocs.Search** για εφαρμογές Java. Σε αυτό το εκπαιδευτικό μάθημα θα μάθετε τα βασικά βήματα για την εγκατάσταση της βιβλιοθήκης, τη ρύθμιση της άδειας χρήσης και τη δημιουργία της πρώτης σας λύσης αναζήτησης εγγράφων. Είτε ξεκινάτε ένα νέο έργο είτε ενσωματώνετε την αναζήτηση σε υπάρχον κώδικα, αυτή η περιήγηση σας παρέχει όλα όσα χρειάζεστε για να ξεκινήσετε γρήγορα. + +## Γρήγορες Απαντήσεις +- **Ποιο είναι το πρώτο βήμα;** Εγκαταστήστε το πακέτο GroupDocs.Search Java μέσω Maven ή Gradle. +- **Χρειάζομαι άδεια;** Ναι—μια προσωρινή άδεια λειτουργεί για ανάπτυξη· απαιτείται πλήρης άδεια για παραγωγή. +- **Ποιο IDE είναι το καλύτερο;** Οποιοδήποτε Java IDE (IntelliJ IDEA, Eclipse, VS Code) που υποστηρίζει έργα Maven/Gradle. +- **Μπορώ να ευρετηριάσω PDF και αρχεία Word;** Απόλυτα—το GroupDocs.Search υποστηρίζει ευρύ φάσμα μορφών εγγράφων έτοιμο για χρήση. +- **Πόσο διαρκεί η εγκατάσταση;** Συνήθως λιγότερο από 15 λεπτά για ένα νέο έργο. + +## Τι σημαίνει “πώς να διαμορφώσετε το GroupDocs.Search”; +Η διαμόρφωση του GroupDocs.Search σημαίνει την προετοιμασία της βιβλιοθήκης για ευρετηρίαση εγγράφων, τον ορισμό τοποθεσιών αποθήκευσης και την εφαρμογή του κλειδιού άδειας ώστε το API να λειτουργεί χωρίς περιορισμούς. Η σωστή διαμόρφωση εξασφαλίζει γρήγορα, ακριβή αποτελέσματα αναζήτησης και ομαλή ενσωμάτωση με τον κώδικά σας Java. + +## Γιατί να διαμορφώσετε το GroupDocs.Search για Java; +- **Γρήγορη υλοποίηση** – Απαιτείται ελάχιστος κώδικας για να ξεκινήσετε την ευρετηρίαση και την αναζήτηση. +- **Κλιμακωτή ευρετηρίαση** – Διαχειρίζεται μεγάλες συλλογές εγγράφων χωρίς απώλεια απόδοσης. +- **Ευρεία υποστήριξη μορφών** – Λειτουργεί με PDF, DOCX, XLSX, PPTX και πολλά άλλα αρχεία. +- **Ασφαλής αδειοδότηση** – Εγγυάται τη συμμόρφωση και ξεκλειδώνει όλες τις premium λειτουργίες. + +## Προαπαιτούμενα +- Java Development Kit (JDK) 8 ή νεότερο. +- Maven 3 ή Gradle 5 για διαχείριση εξαρτήσεων. +- Πρόσβαση σε προσωρινό ή πλήρες κλειδί άδειας GroupDocs.Search. + +## Οδηγός Βήμα‑βήμα + +### Βήμα 1: Προσθέστε το GroupDocs.Search στο Έργο σας +Συμπεριλάβετε την εξάρτηση GroupDocs.Search στο `pom.xml` (Maven) ή στο `build.gradle` (Gradle). Αυτό καθιστά τη βιβλιοθήκη διαθέσιμη για τον κώδικά σας. + +### Βήμα 2: Εφαρμόστε την Άδειά Σας +Δημιουργήστε ένα αντικείμενο `License` και φορτώστε το προσωρινό ή μόνιμο αρχείο άδειας. Αυτό το βήμα ξεκλειδώνει τη πλήρη λειτουργικότητα και αφαιρεί τους περιορισμούς αξιολόγησης. + +### Βήμα 3: Αρχικοποιήστε τις Ρυθμίσεις Ευρετηρίου +Ορίστε πού θα αποθηκευτούν τα αρχεία ευρετηρίου στο δίσκο και διαμορφώστε τυχόν προσαρμοσμένες επιλογές ευρετηρίασης που χρειάζεστε (π.χ. ευαισθησία πεζών‑κεφαλαίων, λέξεις-σταματητές). + +### Βήμα 4: Ευρετηριάστε τα Έγγραφά Σας +Χρησιμοποιήστε την κλάση `Indexer` για να προσθέσετε αρχεία ή φακέλους στο ευρετήριο. Το GroupDocs.Search εντοπίζει αυτόματα τους τύπους αρχείων και εξάγει το κείμενο που μπορεί να αναζητηθεί. + +### Βήμα 5: Εκτελέστε Ένα Ερώτημα Αναζήτησης +Δημιουργήστε ένα αντικείμενο `SearchOptions`, καθορίστε τη συμβολοσειρά ερωτήματος και εκτελέστε την αναζήτηση. Το API επιστρέφει μια λίστα εγγράφων που ταιριάζουν με βαθμολογίες συνάφειας. + +### Βήμα 6: Εξετάστε τα Αποτελέσματα +Περιηγηθείτε στα αποτελέσματα αναζήτησης, εμφανίστε τα ονόματα αρχείων και, προαιρετικά, επισημάνετε τους όρους που ταιριάζουν στη διεπαφή χρήστη. + +## Συνηθισμένα Προβλήματα και Λύσεις +- **Η άδεια δεν αναγνωρίζεται** – Επαληθεύστε τη διαδρομή του αρχείου άδειας και βεβαιωθείτε ότι ταιριάζει με την έκδοση του GroupDocs.Search που χρησιμοποιείτε. +- **Λείπουν μορφές εγγράφων** – Εγκαταστήστε το προαιρετικό πρόσθετο `groupdocs-conversion` εάν χρειάζεστε υποστήριξη για λιγότερο κοινές μορφές αρχείων. +- **Σημεία συμφόρησης απόδοσης** – Χρησιμοποιήστε διαδοχική (incremental) ευρετηρίαση και ρυθμίστε το φάκελο ευρετηρίου σε SSD για ταχύτερη πρόσβαση. + +## Συχνές Ερωτήσεις + +**Ε: Μπορώ να χρησιμοποιήσω το GroupDocs.Search σε διακομιστή Linux;** +Α: Ναι, η βιβλιοθήκη είναι ανεξάρτητη από πλατφόρμα και λειτουργεί σε οποιοδήποτε λειτουργικό σύστημα που υποστηρίζει Java. + +**Ε: Πώς ενημερώνω το ευρετήριο μετά την προσθήκη νέων αρχείων;** +Α: Καλέστε ξανά τον `Indexer` με τα νέα αρχεία· η βιβλιοθήκη θα τα συγχωνεύσει στο υπάρχον ευρετήριο. + +**Ε: Υπάρχει τρόπος να περιορίσω τα αποτελέσματα αναζήτησης σε συγκεκριμένο φάκελο;** +Α: Ναι, ορίστε το `SearchOptions` ώστε να περιλαμβάνει φίλτρο φακέλου πριν εκτελέσετε το ερώτημα. + +**Ε: Τι συμβαίνει αν υπερβώ την περίοδο της προσωρινής άδειας;** +Α: Το API θα συνεχίσει να λειτουργεί σε λειτουργία αξιολόγησης με περιορισμένες δυνατότητες· αντικαταστήστε το αρχείο άδειας με μόνιμο κλειδί για να επαναφέρετε τη πλήρη λειτουργικότητα. + +**Ε: Υποστηρίζει το GroupDocs.Search ασαφή (fuzzy) αναζήτηση;** +Α: Απόλυτα—ενεργοποιήστε την ασαφή αντιστοίχιση στο `SearchOptions` για να λαμβάνετε αποτελέσματα με μικρές ορθογραφικές διαφορές. + +## Πρόσθετοι Πόροι + +### Διαθέσιμα Μαθήματα + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Μάθετε πώς να αναπτύξετε και να διαμορφώσετε το GroupDocs.Search για Java με αυτόν τον βήμα‑βήμα οδηγό. Ενισχύστε την ευρετηρίαση εγγράφων και τις δυνατότητες αναζήτησης στα έργα σας. + +### Χρήσιμοι Σύνδεσμοι +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Τελευταία Ενημέρωση:** 2025-12-29 +**Δοκιμή Με:** GroupDocs.Search 23.12 for Java +**Συγγραφέας:** GroupDocs \ No newline at end of file diff --git a/content/greek/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/greek/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..3d82eb01 --- /dev/null +++ b/content/greek/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,244 @@ +--- +date: '2025-12-29' +description: Μάθετε πώς να καθαρίζετε τον κατάλογο Java, να αυτοματοποιείτε τη διαχείριση + εγγράφων και να μετονομάζετε αρχεία χρησιμοποιώντας το GroupDocs.Search για Java. + Αυξήστε την αποδοτικότητα στις εφαρμογές σας. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Καθαρισμός Καταλόγου Java – Αυτοματοποιήστε την Καταγραφή & τη Μετονομασία +type: docs +url: /el/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Αυτοματοποιήστε την Καταχώριση Εγγράφων και τη Μετονομασία Χρησιμοποιώντας το GroupDocs.Search + +Αν χρειάζεστε να **clean directory java** ενώ αυτοματοποιείτε την καταχώριση εγγράφων και τη μετονομασία, βρίσκεστε στο σωστό μέρος. Η χειροκίνητη διαχείριση μετακινήσεων αρχείων, διαγραφών και ενημερώσεων του ευρετηρίου είναι επιρρεπής σε σφάλματα και χρονοβόρα. Σε αυτόν τον οδηγό θα σας δείξουμε πώς να αφήσετε τη Java να κάνει τη βαριά δουλειά, χρησιμοποιώντας το **GroupDocs.Search for Java** για να δημιουργήσετε ένα αναζητήσιμο ευρετήριο, να μετονομάσετε αρχεία και να διατηρείτε το ευρετήριο συγχρονισμένο αυτόματα. + +## Γρήγορες Απαντήσεις +- **Τι σημαίνει “clean directory java”;** Διαγραφή όλων των αρχείων/φακέλων μέσα σε έναν προορισμένο φάκελο χρησιμοποιώντας κώδικα Java. +- **Ποια βιβλιοθήκη δημιουργεί το αναζητήσιμο ευρετήριο;** GroupDocs.Search for Java. +- **Πώς μετονομάζω ένα έγγραφο και διατηρώ το ευρετήριο ενημερωμένο;** Χρησιμοποιήστε `File.renameTo()` και στη συνέχεια ειδοποιήστε το ευρετήριο με `Notification.createRenameNotification`. +- **Μπορώ να αντιγράψω αρχεία μετά τον καθαρισμό του φακέλου;** Ναι – τα Java Streams μπορούν να αντιγράψουν αρχεία διατηρώντας το ευρετήριο. +- **Απαιτείται άδεια για παραγωγή;** Απαιτείται έγκυρη άδεια GroupDocs.Search για εμπορική χρήση. + +## Τι είναι το “clean directory java”; +Ο καθαρισμός ενός φακέλου στη Java σημαίνει την προγραμματιστική αφαίρεση κάθε αρχείου και υποφακέλου μέσα σε έναν καθορισμένο φάκελο. Συχνά αποτελεί προαπαιτούμενο βήμα πριν την αντιγραφή νέων αρχείων ή την επαναδημιουργία ενός ευρετηρίου, διασφαλίζοντας ότι τα παλιά δεδομένα δεν επηρεάζουν τα αποτελέσματα αναζήτησης. + +## Γιατί να αυτοματοποιήσετε την καταχώριση εγγράφων και τη μετονομασία; +- **Αυτοματοποίηση διαχείρισης εγγράφων** μειώνει την χειροκίνητη προσπάθεια και εξαλείφει τα ανθρώπινα σφάλματα. +- Ένα βήμα **δημιουργίας αναζητήσιμου ευρετηρίου** σας επιτρέπει να εντοπίζετε άμεσα οποιοδήποτε έγγραφο με βάση το περιεχόμενό του. +- Η μετονομασία αρχείων χωρίς ενημέρωση του ευρετηρίου θα διασπά την ακρίβεια της αναζήτησης· η αυτοματοποίηση διατηρεί όλα συνεπή. + +## Προαπαιτούμενα + +- **GroupDocs.Search for Java** (Έκδοση 25.4 ή νεότερη) +- JDK 8 + και ένα IDE όπως IntelliJ IDEA ή Eclipse +- Βασικές γνώσεις Java, ειδικά για I/O αρχείων + +## Ρύθμιση του GroupDocs.Search για Java + +### Εξάρτηση Maven +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Άμεση Λήψη +Εναλλακτικά, κατεβάστε την πιο πρόσφατη έκδοση από [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Άδεια +Αποκτήστε μια δωρεάν δοκιμή, μια προσωρινή άδεια αξιολόγησης ή αγοράστε πλήρη άδεια για χρήση σε παραγωγή. + +### Βασική Αρχικοποίηση +Create an `Index` instance that will hold the searchable data: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Οδηγός Υλοποίησης + +### 1. Προσθήκη Εγγράφων στο Ευρετήριο (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Επεξήγηση*: +- `indexFolder` – όπου αποθηκεύονται τα αρχεία του ευρετηρίου. +- `documentFolder` – ο φάκελος προέλευσης που περιέχει τα αρχεία που θέλετε να καταστήσετε αναζητήσιμα. + +### 2. Μετονομασία Εγγράφου και Ειδοποίηση του Ευρετηρίου + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Επεξήγηση*: +- Η `File.renameTo()` της Java εκτελεί τη φυσική μετονομασία. +- Η `Notification.createRenameNotification()` ενημερώνει το GroupDocs.Search ότι το όνομα του αρχείου άλλαξε, διατηρώντας το ευρετήριο ακριβές. + +## Clean Directory Java – Καθαρισμός Φακέλου και Αντιγραφή Αρχείων + +Η διατήρηση ενός φακέλου τακτοποιημένου πριν από μαζική αντιγραφή αποτρέπει διπλότυπα ή ορφανά αρχεία. Παρακάτω υπάρχουν δύο επαναχρησιμοποιήσιμα αποσπάσματα. + +### Βήμα 1: Διαγραφή Περιεχομένων Φακέλου (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Επεξήγηση*: +- Η `Files.walk()` διασχίζει κάθε αρχείο και υποφάκελο. +- Η ταξινόμηση με αντίστροφη σειρά εξασφαλίζει ότι τα αρχεία διαγράφονται πριν τους γονικούς φακέλους, επιτυγχάνοντας αποτελεσματικά **διαγραφή περιεχομένων φακέλου**. + +### Βήμα 2: Αντιγραφή Αρχείων (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Επεξήγηση*: +- Η ροή φιλτράρει μόνο κανονικά αρχεία, στη συνέχεια τα αντιγράφει στον προορισμό, αντικαθιστώντας υπάρχοντα αρχεία εάν χρειάζεται. + +## Πρακτικές Εφαρμογές + +- **Enterprise Document Management** – Αυτοματοποιήστε την καταχώριση χιλιάδων συμβάσεων και διατηρήστε τα ονόματα αρχείων συγχρονισμένα. +- **Legal Firms** – Μετανομάστε γρήγορα αρχεία υποθέσεων διατηρώντας το αναζητήσιμο περιεχόμενο. +- **Content Management Systems** – Χρησιμοποιήστε το πρότυπο clean‑directory για να ανανεώσετε φακέλους πολυμέσων χωρίς χειροκίνητο καθαρισμό. + +## Σκέψεις Απόδοσης + +- **Μέγεθος Ευρετηρίου** – Συμπιέζετε περιοδικά το ευρετήριο εάν μεγαλώνει. +- **Χρήση Μνήμης** – Επεξεργαστείτε αρχεία σε παρτίδες για να αποφύγετε `OutOfMemoryError`. +- **Συγχρονισμός** – Για μαζικές λειτουργίες, εξετάστε το `ExecutorService` της Java για παράλληλο καθαρισμό και αντιγραφή. + +## Συχνά Προβλήματα & Συμβουλές + +| Πρόβλημα | Αιτία | Διόρθωση | +|----------|-------|----------| +| Αποτυχία μετονομασίας | Το αρχείο είναι κλειδωμένο ή η διαδρομή είναι άκυρη | Βεβαιωθείτε ότι το αρχείο δεν είναι ανοιχτό αλλού· χρησιμοποιήστε `Files.move` για πιο αξιόπιστες μετονομασίες. | +| Το ευρετήριο δεν ενημερώνεται | Η ειδοποίηση δεν εστάλη | Πάντα καλέστε `index.notifyIndex(notification)` και στη συνέχεια `index.update()`. | +| Παλαιά αποτελέσματα αναζήτησης μετά την αντιγραφή | Το ευρετήριο εξακολουθεί να δείχνει σε παλιά αρχεία | Προσθέστε ξανά τον προορισμό στο ευρετήριο ή καλέστε `index.update()` μετά την αντιγραφή. | + +## Συχνές Ερωτήσεις + +**Ε: Μπορώ να καθαρίσω έναν φάκελο που περιέχει υποφακέλους;** +Α: Ναι. Η προσέγγιση `Files.walk()` διαγράφει αναδρομικά όλα τα ενσωματωμένα αρχεία και φακέλους. + +**Ε: Πρέπει να ξαναδημιουργήσω ολόκληρο το ευρετήριο μετά από κάθε μετονομασία;** +Α: Όχι. Η αποστολή ειδοποίησης μετονομασίας και η κλήση του `index.update()` αρκούν. + +**Ε: Πόσο μεγάλος φάκελος μπορώ να καθαρίσω πριν αντιμετωπίσω περιορισμούς απόδοσης;** +Α: Εξαρτάται από τη μνήμη της JVM· η επεξεργασία σε μικρότερες παρτίδες ή η χρήση streams βοηθά στη διαχείριση μεγάλων συνόλων δεδομένων. + +**Ε: Είναι το GroupDocs.Search δωρεάν για ανάπτυξη;** +Α: Διατίθεται δωρεάν δοκιμή, αλλά απαιτείται πληρωμένη άδεια για χρήση σε παραγωγή. + +**Ε: Μπορώ να χρησιμοποιήσω αυτήν την προσέγγιση με άλλους τύπους αρχείων (π.χ., PDF, DOCX);** +Α: Απόλυτα. Το GroupDocs.Search υποστηρίζει πολλές μορφές· απλώς προσθέστε το φάκελο που περιέχει αυτά τα αρχεία στο ευρετήριο. + +## Συμπέρασμα + +Τώρα έχετε μια πλήρη, έτοιμη για παραγωγή λύση για **clean directory java**, προσθέτοντας έγγραφα σε ένα αναζητήσιμο ευρετήριο, μετονομάζοντας αρχεία και διατηρώντας όλα συγχρονισμένα με το GroupDocs.Search. Εφαρμόστε αυτά τα πρότυπα για να αυτοματοποιήσετε τη ροή εργασίας διαχείρισης εγγράφων και να απολαύσετε ταχύτερες, πιο αξιόπιστες εμπειρίες αναζήτησης. + +--- + +**Τελευταία Ενημέρωση:** 2025-12-29 +**Δοκιμή Με:** GroupDocs.Search 25.4 +**Συγγραφέας:** GroupDocs \ No newline at end of file diff --git a/content/greek/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/greek/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..1f0f01f5 --- /dev/null +++ b/content/greek/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: Μάθετε πώς να διαχειρίζεστε κωδικούς πρόσβασης εγγράφων σε Java με το + GroupDocs.Search, να δημιουργείτε ευρετήρια αναζήτησης και να πραγματοποιείτε αποδοτική + αναζήτηση σε πολλαπλά έγγραφα. +keywords: +- manage document passwords java +- search across multiple documents +title: Διαχείριση κωδικών πρόσβασης εγγράφων Java με GroupDocs.Search +type: docs +url: /el/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Διαχείριση Κωδικών Εγγράφων Java με χρήση GroupDocs.Search + +Σε σύγχρονες επιχειρηματικές εφαρμογές, η **manage document passwords Java** είναι ένα κρίσιμο βήμα για τη διασφάλιση ευαίσθητων αρχείων, ενώ ταυτόχρονα επιτρέπει γρήγορη και αξιόπιστη αναζήτηση. Σε αυτόν τον οδηγό θα δείξουμε πώς να δημιουργήσετε και να διαχειριστείτε ευρετήρια με το GroupDocs.Search, να αποθηκεύσετε κωδικούς με ασφάλεια στο λεξικό του ευρετηρίου και στη συνέχεια να **search across multiple documents** με ευκολία. Είτε χτίζετε ένα σύστημα διαχείρισης εγγράφων είτε προσθέτετε αναζήτηση σε μια υπάρχουσα εφαρμογή Java, τα παρακάτω βήματα θα σας θέσουν σε λειτουργία γρήγορα. + +## Γρήγορες Απαντήσεις +- **Τι σημαίνει “manage document passwords Java”;** Αναφέρεται στην αποθήκευση και ανάκτηση κωδικών για προστατευμένα αρχεία απευθείας στο ευρετήριο αναζήτησης. +- **Μπορώ να ευρετηριάσω αρχεία με κωδικό;** Ναι—προσθέστε τους κωδικούς στο λεξικό του ευρετηρίου πριν την ευρετηρίαση. +- **Πόσα έγγραφα μπορώ να αναζητήσω ταυτόχρονα;** Το GroupDocs.Search μπορεί να **search across multiple documents** σε ένα μόνο ερώτημα. +- **Χρειάζομαι άδεια για παραγωγική χρήση;** Απαιτείται άδεια για παραγωγική χρήση· διατίθεται δωρεάν δοκιμαστική έκδοση για αξιολόγηση. +- **Ποια έκδοση Java απαιτείται;** JDK 8 ή νεότερη. + +## Τι είναι η “manage document passwords Java”; +Η αποθήκευση κωδικών εγγράφων μέσα στο ευρετήριο αναζήτησης επιτρέπει στη μηχανή να ανοίγει αυτόματα προστατευμένα αρχεία κατά την ευρετηρίαση και την αναζήτηση, εξαλείφοντας την ανάγκη χειροκίνητης εισαγωγής κωδικού κάθε φορά. + +## Γιατί να χρησιμοποιήσετε το GroupDocs.Search για αυτήν την εργασία; +- **Ενσωματωμένο λεξικό κωδικών** – διατηρεί τους κωδικούς συνδεδεμένους με τις διαδρομές αρχείων. +- **Υψηλής απόδοσης ευρετηρίαση** – διαχειρίζεται χιλιάδες αρχεία γρήγορα. +- **Πλούσια γλώσσα ερωτημάτων** – υποστηρίζει σύνθετες αναζητήσεις σε πολλούς τύπους εγγράφων. + +## Προαπαιτούμενα +- **JDK 8+** εγκατεστημένο. +- **Maven** για διαχείριση εξαρτήσεων. +- Βασικές γνώσεις Java (διαχείριση αρχείων, κλάσεις). + +## Ρύθμιση του GroupDocs.Search για Java + +Προσθέστε το αποθετήριο και την εξάρτηση στο `pom.xml` σας: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Μπορείτε επίσης να κατεβάσετε τη βιβλιοθήκη απευθείας από τη σελίδα κυκλοφορίας: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Αρχικοποίηση του Ευρετηρίου + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Πώς να διαχειριστείτε κωδικούς εγγράφων Java; + +### 1. Ορισμός του Φακέλου Ευρετηρίου και Δημιουργία του Ευρετηρίου +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Εκκαθάριση Υπάρχοντων Κωδικών (εάν υπάρχουν) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Προσθήκη Κωδικού για Συγκεκριμένο Έγγραφο +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Ανάκτηση και Αφαίρεση Κωδικού +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Προσθήκη Κωδικών σε Πολλαπλά Έγγραφα +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Πώς να ευρετηριάσετε έγγραφα με κωδικούς; +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Πώς να αναζητήσετε σε πολλαπλά έγγραφα; +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Πρακτικές Εφαρμογές +- **Enterprise Document Management** – ασφαλή, αναζητήσιμα αρχεία. +- **Content Management Platforms** – γρήγορη ανάκτηση προστατευμένων πόρων. +- **Legal Document Repositories** – διατήρηση εμπιστευτικότητας ενώ επιτρέπεται η πλήρης αναζήτηση κειμένου. + +## Σκέψεις για την Απόδοση +- **Παράλληλη Ευρετηρίαση** – χρησιμοποιήστε πολλαπλά νήματα για μεγάλες παρτίδες. +- **Παρακολούθηση Μνήμης** – παρακολουθείτε το heap της JVM κατά τις μαζικές εισαγωγές. +- **Τακτική Συντήρηση Ευρετηρίου** – επανευρετηρίαση όταν αλλάζουν αρχεία ή ενημερώνονται κωδικοί. + +## Συμπέρασμα +Τώρα γνωρίζετε πώς να **manage document passwords Java** με το GroupDocs.Search, να δημιουργείτε αξιόπιστα ευρετήρια και να εκτελείτε ισχυρή **search across multiple documents**. Ενσωματώνοντας αυτά τα βήματα στην εφαρμογή σας, θα προσφέρετε ασφαλείς, γρήγορους και κλιμακώσιμους μηχανισμούς αναζήτησης. + +**Επόμενα Βήματα** +- Δοκιμάστε προχωρημένους τελεστές ερωτημάτων (wildcards, fuzzy search). +- Εξερευνήστε την επαυξητική ευρετηρίαση για ενημερώσεις σε πραγματικό χρόνο. +- Συνδυάστε με άλλα προϊόντα GroupDocs για μετατροπή PDF ή σχολιασμό. + +## Συχνές Ερωτήσεις + +**Ε: Μπορώ να ευρετηριάσω μεγάλης κλίμακας συλλογές εγγράφων;** +Α: Ναι, το GroupDocs.Search έχει σχεδιαστεί για να διαχειρίζεται εκτεταμένες συλλογές αποδοτικά. + +**Ε: Είναι δυνατόν να ενημερώσω ένα υπάρχον ευρετήριο με νέα έγγραφα;** +Α: Απόλυτα! Μπορείτε να προσθέσετε ή να αφαιρέσετε έγγραφα από το ευρετήριο όπως χρειάζεται. + +**Ε: Πώς διασφαλίζω την ασφάλεια των δεδομένων που έχουν ευρετηριαστεί;** +Α: Χρησιμοποιήστε το λεξικό κωδικών εγγράφων και αποθηκεύστε το ευρετήριο σε προστατευμένο φάκελο. + +**Ε: Μπορεί το GroupDocs.Search να χειριστεί διαφορετικούς τύπους αρχείων;** +Α: Ναι, υποστηρίζει PDFs, αρχεία Word, φύλλα Excel και πολλούς άλλους κοινά τύπους. + +**Ε: Τι κάνω αν αντιμετωπίσω προβλήματα απόδοσης κατά την ευρετηρίαση;** +Α: Ενεργοποιήστε την παράλληλη επεξεργασία, αυξήστε το μέγεθος του heap ή ρυθμίστε τις παραμέτρους του ευρετηρίου. + +--- + +**Τελευταία Ενημέρωση:** 2025-12-29 +**Δοκιμή Με:** GroupDocs.Search 25.4 for Java +**Συγγραφέας:** GroupDocs + +**Πόροι** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/greek/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/greek/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..17c95401 --- /dev/null +++ b/content/greek/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Μάθετε πώς να ευρετηριάσετε έγγραφα Java και να δημιουργήσετε ευρετήριο + αναζήτησης με το GroupDocs.Search για Java. Αυτός ο οδηγός καλύπτει τη ρύθμιση, + την ευρετηρίαση, την αναζήτηση και τη διαχείριση εγγράφων αποδοτικά. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Πώς να ευρετηριάσετε έγγραφα Java με το GroupDocs.Search – Αποτελεσματική Αναζήτηση +type: docs +url: /el/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Πώς να Καταχωρίσετε Έγγραφα Java με το GroupDocs.Search – Αποτελεσματική Αναζήτηση + +## Εισαγωγή + +Αισθάνεστε υπερφορτωμένοι από έναν τεράστιο όγκο εγγράφων και αναρωτιέστε **πώς να καταχωρίσετε java** αρχεία γρήγορα; Πολλές επιχειρήσεις και άτομα αντιμετωπίζουν αυτήν την πρόκληση καθημερινά. **GroupDocs.Search for Java** προσφέρει μια αποδοτική λύση για τη βελτιστοποίηση των αναζητήσεων εγγράφων, καθιστώντας τη διαδικασία πιο γρήγορη και διαχειρίσιμη. + +Σε αυτό το εκπαιδευτικό υλικό, θα σας καθοδηγήσουμε στη χρήση του GroupDocs.Search for Java για τη δημιουργία ενός ευρετηριασμένου αποθετηρίου των εγγράφων σας. Θα μάθετε πώς να φορτώνετε έγγραφα από το σύστημα αρχείων, να εκτελείτε αναζητήσεις, να διαχειρίζεστε διαγραφές και να ανακτάτε ευρετηριασμένα δεδομένα αποδοτικά και κλιμακώσιμα. + +**Τι Θα Μάθετε:** +- Ρύθμιση και διαμόρφωση του GroupDocs.Search for Java. +- **Δημιουργία ευρετηρίου αναζήτησης** και ευρετηρίαση εγγράφων από ροές. +- Φόρτωση εγγράφων από το σύστημα αρχείων. +- **Εκτέλεση αναζήτησης με λέξεις‑κλειδιά** στο ευρετήριό σας. +- **Πώς να διαγράψετε εγγραφές ευρετηρίου** για συγκεκριμένα έγγραφα. +- Ανάκτηση ευρετηριασμένων εγγράφων μετά τις διαγραφές. + +Έτοιμοι να επαναπροσδιορίσετε τον τρόπο διαχείρισης των αναζητήσεων εγγράφων; Ας ξεκινήσουμε με τις προαπαιτούμενες προϋποθέσεις! + +## Γρήγορες Απαντήσεις +- **Ποιος είναι ο κύριος σκοπός;** Αποτελεσματική ευρετηρίαση και αναζήτηση εγγράφων Java. +- **Ποια βιβλιοθήκη απαιτείται;** GroupDocs.Search for Java (v25.4+). +- **Χρειάζομαι άδεια;** Διατίθεται δωρεάν δοκιμή ή προσωρινή άδεια· απαιτείται μόνιμη άδεια για παραγωγική χρήση. +- **Μπορώ να διαγράψω έγγραφα από το ευρετήριο;** Ναι, χρησιμοποιώντας τη μέθοδο `delete` με κλειδιά εγγράφων. +- **Είναι υποχρεωτικό το Apache Commons IO;** Συνιστάται για βοηθητικές λειτουργίες διαχείρισης αρχείων. + +## Τι είναι το “πώς να καταχωρίσετε java”; +Η ευρετηρίαση εγγράφων Java σημαίνει τη δημιουργία μιας δομής δεδομένων αναζήτησης (ευρετηρίου) που αντιστοιχίζει το περιεχόμενο των εγγράφων σε όρους αναζήτησης, επιτρέποντας γρήγορη ανάκτηση σχετικών αρχείων βάσει ερωτημάτων λέξεων‑κλειδιά. + +## Γιατί να Χρησιμοποιήσετε το GroupDocs.Search for Java; +- **Ταχύτητα:** Βελτιστοποιημένοι αλγόριθμοι παρέχουν γρήγορα αποτελέσματα ερωτημάτων ακόμη και σε μεγάλες συλλογές. +- **Κλιμακωσιμότητα:** Διαχειρίζεται χιλιάδες έγγραφα χωρίς να μειώνει την απόδοση. +- **Ευελιξία:** Υποστηρίζει διάφορες μορφές αρχείων και προσφέρει lazy loading για μεγάλα αρχεία. +- **Ευκολία Ενσωμάτωσης:** Απλή ρύθμιση Maven και απλό API. + +## Προαπαιτούμενα + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι διαθέτετε τα εξής: + +### Απαιτούμενες Βιβλιοθήκες και Εξαρτήσεις +- **GroupDocs.Search for Java**: Βεβαιωθείτε ότι είναι εγκατεστημένη η έκδοση 25.4 ή νεότερη. +- **Apache Commons IO**: Απαραίτητη για βοηθητικές λειτουργίες διαχείρισης αρχείων. + +### Απαιτήσεις Ρύθμισης Περιβάλλοντος +- Java Development Kit (JDK) 8 ή νεότερο. +- Περιβάλλον Ανάπτυξης (IDE) όπως IntelliJ IDEA ή Eclipse. + +### Προαπαιτούμενες Γνώσεις +- Βασική κατανόηση του προγραμματισμού Java και των αντικειμενο‑προσανατολισμένων εννοιών. +- Εξοικείωση με το Maven για διαχείριση εξαρτήσεων είναι χρήσιμη αλλά όχι υποχρεωτική. + +## Ρύθμιση του GroupDocs.Search for Java + +Η ρύθμιση του περιβάλλοντος του έργου σας με το GroupDocs.Search περιλαμβάνει τα παρακάτω βήματα χρησιμοποιώντας Maven: + +**Διαμόρφωση Maven:** +Προσθέστε το παρακάτω αποθετήριο και εξάρτηση στο αρχείο `pom.xml` σας: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Άμεση Λήψη:** +Εναλλακτικά, κατεβάστε την πιο πρόσφατη έκδοση απευθείας από το [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Βήματα Απόκτησης Άδειας +- **Δωρεάν Δοκιμή:** Ξεκινήστε με μια δωρεάν δοκιμή για να δοκιμάσετε τις δυνατότητες. +- **Προσωρινή Άδεια:** Αιτηθείτε προσωρινή άδεια για να εξερευνήσετε όλες τις λειτουργίες χωρίς περιορισμούς. +- **Αγορά:** Σκεφτείτε την αγορά εάν καλύπτει τις ανάγκες σας. + +**Βασική Αρχικοποίηση και Ρύθμιση:** + +Μόλις το περιβάλλον είναι έτοιμο, αρχικοποιήστε το GroupDocs.Search ως εξής: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Πώς να Καταχωρίσετε Έγγραφα Java Χρησιμοποιώντας το GroupDocs.Search + +### Δημιουργία και Ευρετηρίαση Εγγράφων + +**Επισκόπηση:** Μάθετε πώς να δημιουργήσετε ένα ευρετήριο σε συγκεκριμένο φάκελο και να προσθέσετε έγγραφα από ροές, βελτιστοποιώντας τη διαδικασία **create search index**. + +#### Βήμα 1: Δημιουργία Ευρετηρίου +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Παράμετροι:** Η πρώτη παράμετρος είναι η διαδρομή του καταλόγου αποθήκευσης των ευρετηρίων. Η δεύτερη boolean ενεργοποιεί την αυτόματη ενημέρωση του ευρετηρίου εάν υπάρχει. + +#### Βήμα 2: Φόρτωση και Προσθήκη Εγγράφων από Ροή +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Επεξήγηση:** Εδώ δημιουργείτε έναν `DocumentLoader` για να διαβάσετε το αρχείο και να το προετοιμάσετε για ευρετηρίαση. Η μέθοδος `createLazy` χρησιμοποιείται για αποδοτική διαχείριση μεγάλων αρχείων. + +### Φόρτωση Εγγράφων από Σύστημα Αρχείων + +**Επισκόπηση:** Υλοποιήστε έναν προσαρμοσμένο φορτωτή που διαβάζει έγγραφα απευθείας από το σύστημα αρχείων χρησιμοποιώντας τις βοηθητικές λειτουργίες του Apache Commons IO. + +#### Βήμα 1: Ορισμός Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Λεπτομέρειες:** Αυτή η κλάση διαβάζει το αρχείο σε έναν πίνακα byte και δημιουργεί ένα αντικείμενο `Document` από αυτό. + +### Εκτέλεση Αναζήτησης Λέξεων‑Κλειδιά σε Ευρετήριο + +**Επισκόπηση:** Εκτελέστε λειτουργίες αναζήτησης στα ευρετηριασμένα έγγραφά σας για γρήγορη ανάκτηση σχετικών πληροφοριών. + +#### Βήμα 1: Εκτέλεση Αναζήτησης +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Επεξήγηση:** Χρησιμοποιήστε τη μέθοδο `search` με ένα απλό ερώτημα κειμένου για να λάβετε αποτελέσματα από τα ευρετηριασμένα δεδομένα. Αυτή η προσέγγιση είναι αποδοτική για σενάρια **java document search**. + +### Πώς να Διαγράψετε Εγγραφές Ευρετηρίου + +**Επισκόπηση:** Διαχειριστείτε το ευρετήριό σας διαγράφοντας συγκεκριμένα έγγραφα με βάση τα κλειδιά τους. + +#### Βήμα 1: Διαγραφή Εγγράφου +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Παράμετροι:** Περνάτε τον πίνακα κλειδιών εγγράφων που θέλετε να αφαιρέσετε από το ευρετήριο. Το `UpdateOptions` επιτρέπει ευέλικτες στρατηγικές διαγραφής. + +### Ανάκτηση Ευρετηριασμένων Εγγράφων μετά τη Διαγραφή + +**Επισκόπηση:** Μετά τη διαγραφή εγγράφων, ανακτήστε τη λίστα των υπολειπόμενων ευρετηριασμένων αρχείων για να διασφαλίσετε την ακεραιότητα των δεδομένων. + +#### Βήμα 1: Λήψη Υπολειπόμενων Εγγράφων +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Επεξήγηση:** Αυτό το βήμα βοηθά στην επαλήθευση της τρέχουσας κατάστασης του ευρετηρίου μετά από οποιεσδήποτε διαγραφές. + +## Πρακτικές Εφαρμογές + +Το GroupDocs.Search for Java είναι ευέλικτο, προσφέροντας πολυάριθμες περιπτώσεις χρήσης όπως: + +1. **Διαχείριση Εταιρικών Εγγράφων:** Γρήγορη αναζήτηση σε εταιρικά έγγραφα για αύξηση της παραγωγικότητας. +2. **Ανάλυση Νομικών Εγγράφων:** Αποτελεσματική σάρωση φακέλων υποθέσεων και νομικών κειμένων για εύρεση σχετικών προτύπων. +3. **Συστήματα Καταλόγου Βιβλιοθηκών:** Ευρετηρίαση και διαχείριση μεγάλων συλλογών βιβλίων και χειρογράφων για ευκολότερη πρόσβαση. + +## Σκέψεις για την Απόδοση + +Για βέλτιστη απόδοση: + +- **Βελτιστοποίηση Ευρετηρίου:** Ενημερώνετε τακτικά το ευρετήριο ώστε να αντικατοπτρίζει τις πρόσφατες αλλαγές στα έγγραφα. +- **Διαχείριση Μνήμης:** Χρησιμοποιήστε αποτελεσματικά τη συλλογή απορριμμάτων της Java διαχειριζόμενοι λειτουργίες βαρέων πόρων. +- **Κλιμακωσιμότητα:** Εξασφαλίστε ότι η στρατηγική ευρετηρίασης μπορεί να χειριστεί μεγάλους όγκους δεδομένων χωρίς μείωση της απόδοσης. + +## Συχνά Προβλήματα και Λύσεις + +| Πρόβλημα | Αιτία | Λύση | +|----------|-------|------| +| **Δεν επιστρέχονται αποτελέσματα** | Όροι ερωτήματος δεν έχουν ευρετηριαστεί ή φιλτράρονται ως stop‑words | Ελέγξτε τις `IndexingOptions` και προσαρμόστε τη λίστα stop‑words | +| **Σφάλματα out‑of‑memory** | Φόρτωση πολύ μεγάλων αρχείων χωρίς lazy loading | Χρησιμοποιήστε `Document.createLazy` ή αυξήστε το μέγεθος heap της JVM | +| **Διαγραμμένα έγγραφα εμφανίζονται ακόμα** | Το ευρετήριο δεν έχει ανανεωθεί μετά τη διαγραφή | Καλέστε `index.optimize()` ή ανοίξτε ξανά το ευρετήριο | + +## Συχνές Ερωτήσεις + +**Ε: Μπορώ να ευρετηριάσω PDFs, DOCX και PPTX μαζί;** +Α: Ναι, το GroupDocs.Search υποστηρίζει ευρέως φάσματος μορφές από προεπιλογή. + +**Ε: Πώς λειτουργεί το “πώς να διαγράψετε ευρετήριο” στο παρασκήνιο;** +Α: Η μέθοδος `delete` αφαιρεί εγγραφές βάσει κλειδιών εγγράφων και ενημερώνει τις εσωτερικές λίστες posting για να διατηρήσει το ευρετήριο συνεπές. + +**Ε: Υπάρχει τρόπος να παρακολουθήσω το μέγεθος του ευρετηρίου;** +Α: Χρησιμοποιήστε `index.getStatistics()` για να λάβετε πληροφορίες σχετικά με τον αριθμό εγγράφων και το μέγεθος αποθήκευσης. + +**Ε: Πρέπει να ξαναχτίσω ολόκληρο το ευρετήριο μετά από κάθε διαγραφή;** +Α: Όχι, η λειτουργία `delete` ενημερώνει το ευρετήριο αυξομειωτικά, διατηρώντας τα υπάρχοντα δεδομένα. + +**Ε: Τι γίνεται αν χρειαστεί να ξαναευρετηριάσω όλα τα έγγραφα μετά από αλλαγή σχήματος;** +Α: Δημιουργήστε μια νέα παρουσία `Index` με διαφορετική διαδρομή φακέλου και προσθέστε ξανά όλα τα έγγραφα. + +## Συμπέρασμα + +Μέχρι τώρα, θα πρέπει να έχετε αποκτήσει μια σαφή κατανόηση του **πώς να καταχωρίσετε java** έγγραφα και να εκτελείτε γρήγορες αναζητήσεις χρησιμοποιώντας το GroupDocs.Search for Java. Αυτή η ισχυρή βιβλιοθήκη μπορεί να μεταμορφώσει τον τρόπο διαχείρισης και ανάκτησης πληροφοριών από μεγάλες συλλογές εγγράφων, καθιστώντας την ένα ανεκτίμητο εργαλείο για κάθε οργανισμό. + +**Επόμενα Βήματα:** +- Πειραματιστείτε με διαφορετικούς τύπους εγγράφων και σύνθετα ερωτήματα. +- Εξερευνήστε προχωρημένες λειτουργίες όπως faceted search, ευρετηρίαση μεταδεδομένων και προσαρμοσμένους αναλυτές. + +Έτοιμοι να ξεκινήσετε το ταξίδι ευρετηρίασής σας; Εφαρμόστε αυτές τις τεχνικές σήμερα και απολαύστε ταχύτερη, πιο ακριβή ανάκτηση εγγράφων! + +--- + +**Τελευταία Ενημέρωση:** 2025-12-29 +**Δοκιμάστηκε Με:** GroupDocs.Search Java 25.4 +**Συγγραφέας:** GroupDocs \ No newline at end of file diff --git a/content/greek/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/greek/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..51599c3d --- /dev/null +++ b/content/greek/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: Μάθετε πώς να βελτιστοποιείτε την απόδοση της αναζήτησης χρησιμοποιώντας + προηγμένες δυνατότητες ευρετηρίασης του GroupDocs.Search για Java, συμπεριλαμβανομένης + της ακύρωσης, των ασύγχρονων λειτουργιών, του πολυνηματισμού και της προσαρμογής + μεταδεδομένων. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Βελτιστοποιήστε την απόδοση της αναζήτησης με προχωρημένες τεχνικές ευρετηρίασης + στο GroupDocs.Search για Java +type: docs +url: /el/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Βελτιστοποίηση της Απόδοσης Αναζήτησης με Προηγμένες Τεχνικές Δεικτοδότησης στο GroupDocs.Search για Java + +Στο σημερινό γρήγορα εξελισσόμενο ψηφιακό περιβάλλον, η **βελτιστοποίηση της απόδοσης αναζήτησης** είναι απαραίτητη για την παροχή άμεσων αποτελεσμάτων στους χρήστες. Είτε δημιουργείτε μια προσαρμοσμένη μηχανή αναζήτησης είτε βελτιώνετε ένα υπάρχον σύστημα διαχείρισης εγγράφων, η σωστή στρατηγική δεικτοδότησης μπορεί να μειώσει δραστικά τη λανθάνοντα καθυστέρηση και την κατανάλωση πόρων. Σε αυτό το σεμινάριο θα εξετάσουμε τις πιο ισχυρές δυνατότητες του GroupDocs.Search για Java—ακύρωση, ασύγχρονη δεικτοδότηση, πολυνηματική επεξεργασία και προσαρμογή μεταδεδομένων—ώστε να μπορείτε να **add documents index** πιο γρήγορα και πιο αποδοτικά. + +**Τι Θα Μάθετε** + +- Πώς να ακυρώσετε μια λειτουργία δεικτοδότησης μετά από καθορισμένο χρόνο +- Εκτέλεση ασύγχρονων λειτουργιών δεικτοδότησης και διαχείριση αλλαγών κατάστασης +- Διαμόρφωση πολυνηματικότητας για ταχύτερη δεικτοδότηση +- Προσαρμογή επιλογών δεικτοδότησης μεταδεδομένων + +Ας βεβαιωθούμε ότι έχετε όλα όσα χρειάζεστε πριν βουτήξουμε στον κώδικα. + +## Προαπαιτούμενα + +- **GroupDocs.Search Library** – έκδοση 25.4 ή νεότερη. +- **Java Development Environment** – συνιστάται JDK 8 ή νεότερο. +- Βασική εξοικείωση με τη Java και την έννοια της δεικτοδότησης. + +### Ρύθμιση του GroupDocs.Search για Java + +#### Εγκατάσταση μέσω Maven + +Προσθέστε το αποθετήριο και την εξάρτηση στο αρχείο `pom.xml` σας: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Άμεση Λήψη + +Εναλλακτικά, κατεβάστε το πιο πρόσφατο JAR από το [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**Απόκτηση Άδειας** – Ξεκινήστε με μια δωρεάν δοκιμή ή ζητήστε μια προσωρινή άδεια για να ξεκλειδώσετε το πλήρες σύνολο λειτουργιών. + +### Βασική Αρχικοποίηση και Ρύθμιση + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Γρήγορες Απαντήσεις + +- **Τι κάνει η ακύρωση;** Σταματά τη δεικτοδότηση μετά από ορισμένο χρόνο για να ελευθερώσει πόρους. +- **Μπορώ να δεικτοδοτήσω έγγραφα ασύγχρονα;** Ναι – ορίστε `options.setAsync(true)`. +- **Πόσα νήματα μπορώ να χρησιμοποιήσω;** Οποιοσδήποτε θετικός ακέραιος· τυπικές τιμές είναι 2‑4 για τους περισσότερους διακομιστές. +- **Η δεικτοδότηση μεταδεδομένων είναι προαιρετική;** Απόλυτα – μπορείτε να την ενεργοποιήσετε ή να την ρυθμίσετε λεπτομερώς ανά πεδίο. +- **Χρειάζομαι άδεια για αυτές τις λειτουργίες;** Μια δοκιμαστική άδεια λειτουργεί για δοκιμές· απαιτείται πλήρης άδεια για παραγωγή. + +## Τι σημαίνει “Βελτιστοποίηση της Απόδοσης Αναζήτησης” σε Αυτό το Πλαίσιο; + +Η βελτιστοποίηση της απόδοσης αναζήτησης σημαίνει τη διαμόρφωση της διαδικασίας δεικτοδότησης ώστε να καταναλώνει το σωστό ποσό CPU, μνήμης και χρόνου, παρέχοντας ταυτόχρονα τα πιο σχετικές αποτελέσματα άμεσα. Ελέγχοντας την ακύρωση, την ασύγχρονη εκτέλεση, το νήμα και τη διαχείριση μεταδεδομένων, επηρεάζετε άμεσα το πόσο γρήγορα η μηχανή μπορεί να **add documents index** και να ανταποκριθεί σε ερωτήματα. + +## Γιατί να Χρησιμοποιήσετε Προηγμένες Λειτουργίες Δεικτοδότησης; + +- **Μειωμένη λανθάνουσα καθυστέρηση** – Η ασύγχρονη και πολυνηματική δεικτοδότηση διατηρεί την εφαρμογή σας ανταποκρινόμενη. +- **Καλύτερη διαχείριση πόρων** – Η ακύρωση αποτρέπει ατέρμονες διεργασίες. +- **Προσαρμοσμένη σχετικότητα αναζήτησης** – Οι επιλογές μεταδεδομένων σας επιτρέπουν να εμφανίζετε τις πιο σημαντικές πληροφορίες. + +## Οδηγός Υλοποίησης + +### Ιδιότητα Ακύρωσης + +**Επισκόπηση** – Ακυρώστε τη δεικτοδότηση μετά από καθορισμένη διάρκεια για να αποφύγετε την υπερβολική κατανάλωση πόρων. + +#### Βήμα 1: Ρύθμιση του Περιβάλλοντος + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Βήμα 2: Δημιουργία Επιλογών Δεικτοδότησης με Ακύρωση + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Κύρια Σημεία** + +- `setCancellation()` ενεργοποιεί τη λειτουργία. +- `cancelAfter(int milliseconds)` ορίζει το χρονικό όριο (3 δευτερόλεπτα σε αυτό το παράδειγμα). + +### Ιδιότητα Ασύγχρονης Λειτουργίας + +**Επισκόπηση** – Εκτελέστε τη δεικτοδότηση σε ένα νήμα παρασκηνίου και ακούστε για αλλαγές κατάστασης. + +#### Βήμα 1: Ρύθμιση του Περιβάλλοντος + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Βήμα 2: Εγγραφή στο Συμβάν Αλλαγής Κατάστασης + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Βήμα 3: Διαμόρφωση Ασύγχρονων Επιλογών + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Ιδιότητα Νημάτων + +**Επισκόπηση** – Επιταχύνετε τη δεικτοδότηση αξιοποιώντας πολλούς πυρήνες CPU. + +#### Βήμα 1: Ρύθμιση Περιβάλλοντος + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Βήμα 2: Διαμόρφωση Πολυνηματικότητας + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Ιδιότητα Επιλογών Δεικτοδότησης Μεταδεδομένων + +**Επισκόπηση** – Ρυθμίστε λεπτομερώς ποια μεταδεδομένα εγγράφων δεικτοδοτούνται και πώς αποθηκεύονται. + +#### Βήμα 1: Ρύθμιση Περιβάλλοντος + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Βήμα 2: Διαμόρφωση Επιλογών Μεταδεδομένων + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Πρακτικές Εφαρμογές + +1. **Συστήματα Διαχείρισης Εγγράφων** – Χρησιμοποιήστε ασύγχρονη δεικτοδότηση για να διατηρήσετε το UI ανταποκρινόμενο ενώ μεγάλα παρτίδες επεξεργάζονται στο παρασκήνιο. +2. **Μηχανές Αναζήτησης Περιεχομένου** – Εφαρμόστε ακύρωση για να αποτρέψετε τις μακροχρόνιες εργασίες από το να καταναλώνουν πόρους του διακομιστή κατά τις ώρες αιχμής. +3. **Σωλήνες Εισαγωγής Μεγάλης Κλίμακας** – Εκμεταλλευτείτε την πολυνηματικότητα για να **add documents index** σε κλίμακα, μειώνοντας δραστικά το χρόνο επεξεργασίας. + +## Σκέψεις Απόδοσης + +- **Διαχείριση Νημάτων** – Παρακολουθήστε τη χρήση CPU· πάρα πολλά νήματα μπορούν να προκαλέσουν υπερβολικό κόστος εναλλαγής περιβάλλοντος. +- **Αποτύπωση Μνήμης** – Τα όρια μεταδεδομένων (π.χ., `setMaxBytesToIndexField`) βοηθούν στη διατήρηση προβλέψιμης χρήσης μνήμης. +- **Συλλογή Απορριμμάτων** – Χρησιμοποιήστε κατάλληλες σημαίες JVM (`-Xmx`, `-XX:+UseG1GC`) όταν δεικτοδοτείτε τεράστιες συλλογές. + +## Συχνά Προβλήματα και Λύσεις + +| Σύμπτωμα | Πιθανή Αιτία | Διόρθωση | +|----------|---------------|----------| +| Η δεικτοδότηση δεν ολοκληρώνεται ποτέ | Η ακύρωση έχει οριστεί πολύ χαμηλή | Αυξήστε την τιμή `cancelAfter` ή αφαιρέστε την ακύρωση για μεγάλες εργασίες | +| Δεν υπάρχουν ενημερώσεις κατάστασης σε ασύγχρονη λειτουργία | Ο χειριστής συμβάντων δεν είναι σωστά συνδεδεμένος | Βεβαιωθείτε ότι το `index.getEvents().StatusChanged.add(...)` καλείται πριν από το `index.add` | +| Σφάλματα έλλειψης μνήμης | Πάρα πολλά νήματα ή υψηλά όρια μεταδεδομένων | Μειώστε το `options.setThreads` και χαμηλώστε τα όρια πεδίων μεταδεδομένων | +| Απουσία μεταδεδομένων στα αποτελέσματα | Η δεικτοδότηση μεταδεδομένων είναι απενεργοποιημένη | Επαληθεύστε ότι το `options.getMetadataIndexingOptions()` είναι διαμορφωμένο και δεν είναι ορισμένο να αγνοεί πεδία | + +## Συχνές Ερωτήσεις + +**Ε: Πώς μπορώ να αποκτήσω προσωρινή άδεια για το GroupDocs.Search;** +Α: Επισκεφθείτε τη [σελίδα προσωρινής άδειας του GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**Ε: Μπορώ να ακυρώσω μια λειτουργία δεικτοδότησης στη μέση;** +Α: Ναι – χρησιμοποιήστε την ιδιότητα ακύρωσης με `cancelAfter()` ή καλέστε το `Cancellation.cancel()` προγραμματιστικά. + +**Ε: Ποια είναι μερικά σενάρια χρήσης για την ασύγχρονη δεικτοδότηση;** +Α: Η ανάκτηση εγγράφων σε πραγματικό χρόνο, η επεξεργασία παρτίδων στο παρασκήνιο και οι εφαρμογές με ανταποκρινόμενο UI ωφελούνται από την ασύγχρονη δεικτοδότηση. + +**Ε: Είναι ασφαλές να αυξήσω τον αριθμό των νημάτων σε κοινόχρηστο διακομιστή;** +Α: Αυξήστε σταδιακά και παρακολουθήστε το φορτίο CPU· σε περιβάλλοντα με έντονη κοινή χρήση, διατηρήστε τον αριθμό των νημάτων μέτριο (2‑4). + +**Ε: Πώς η δεικτοδότηση μεταδεδομένων επηρεάζει τη σχετικότητα της αναζήτησης;** +Α: Τα σωστά δεικτοδοτημένα μεταδεδομένα (συγγραφέας, ημερομηνία δημιουργίας, ετικέτες) μπορούν να έχουν μεγαλύτερο βάρος στα ερωτήματα, βελτιώνοντας την ακρίβεια των αποτελεσμάτων. + +## Συμπέρασμα + +Αποδεχόμενοι αυτές τις προηγμένες λειτουργίες του GroupDocs.Search για Java, θα **βελτιστοποιήσετε την απόδοση της αναζήτησης** σε διάφορα σενάρια—από γρήγορη εισαγωγή εγγράφων έως λεπτομερή έλεγχο μεταδεδομένων. Πειραματιστείτε με διαφορετικές διαμορφώσεις, παρακολουθήστε τη χρήση πόρων και προσαρμόστε τις ρυθμίσεις στο συγκεκριμένο φορτίο εργασίας σας για να πετύχετε τα καλύτερα αποτελέσματα. + +--- + +**Τελευταία Ενημέρωση:** 2025-12-29 +**Δοκιμάστηκε Με:** GroupDocs.Search 25.4 for Java +**Συγγραφέας:** GroupDocs \ No newline at end of file diff --git a/content/hindi/java/getting-started/_index.md b/content/hindi/java/getting-started/_index.md new file mode 100644 index 00000000..e115cb31 --- /dev/null +++ b/content/hindi/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: जावा डेवलपर्स के लिए GroupDocs.Search को कॉन्फ़िगर करने की चरण-दर-चरण + गाइड, जिसमें इंस्टॉलेशन, लाइसेंसिंग और आपका पहला सर्च समाधान बनाना शामिल है। +title: 'GroupDocs.Search को कैसे कॉन्फ़िगर करें - जावा के लिए शुरुआती ट्यूटोरियल' +type: docs +url: /hi/java/getting-started/ +weight: 1 +--- + +# GroupDocs.Search को कॉन्फ़िगर कैसे करें - जावा के लिए शुरुआती ट्यूटोरियल + +जावा एप्लिकेशन के लिए **GroupDocs.Search को कॉन्फ़िगर करने** के अंतिम गाइड में आपका स्वागत है। इस ट्यूटोरियल में आप लाइब्रेरी को इंस्टॉल करने, लाइसेंस सेटअप करने, और अपना पहला सर्चेबल डॉक्यूमेंट सॉल्यूशन बनाने के आवश्यक चरण सीखेंगे। चाहे आप नया प्रोजेक्ट शुरू कर रहे हों या मौजूदा कोडबेस में सर्च को इंटीग्रेट कर रहे हों, यह walkthrough आपको जल्दी से शुरू करने के लिए सभी आवश्यक चीज़ें प्रदान करता है। + +## त्वरित उत्तर +- **पहला कदम क्या है?** Maven या Gradle के माध्यम से GroupDocs.Search जावा पैकेज इंस्टॉल करें। +- **क्या मुझे लाइसेंस चाहिए?** हाँ—एक अस्थायी लाइसेंस विकास के लिए काम करता है; उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है। +- **कौन सा IDE सबसे बेहतर है?** कोई भी जावा IDE (IntelliJ IDEA, Eclipse, VS Code) जो Maven/Gradle प्रोजेक्ट्स को सपोर्ट करता है। +- **क्या मैं PDFs और Word फ़ाइलों को इंडेक्स कर सकता हूँ?** बिल्कुल—GroupDocs.Search बॉक्स से बाहर कई दस्तावेज़ फ़ॉर्मेट्स को सपोर्ट करता है। +- **सेटअप में कितना समय लगता है?** आमतौर पर एक नए प्रोजेक्ट के लिए 15 मिनट से कम। + +## “GroupDocs.Search को कॉन्फ़िगर कैसे करें” क्या है? +GroupDocs.Search को कॉन्फ़िगर करना मतलब लाइब्रेरी को दस्तावेज़ों को इंडेक्स करने के लिए तैयार करना, स्टोरेज लोकेशन निर्धारित करना, और आपका लाइसेंस कुंजी लागू करना है ताकि API बिना प्रतिबंधों के काम कर सके। उचित कॉन्फ़िगरेशन तेज़, सटीक सर्च परिणाम और आपके जावा कोड के साथ सुगम इंटीग्रेशन सुनिश्चित करता है। + +## जावा के लिए GroupDocs.Search को कॉन्फ़िगर क्यों करें? +- **तेज़ कार्यान्वयन** – इंडेक्सिंग और सर्च शुरू करने के लिए न्यूनतम कोड की आवश्यकता होती है। +- **स्केलेबल इंडेक्सिंग** – प्रदर्शन में कमी के बिना बड़े दस्तावेज़ संग्रह को संभालता है। +- **व्यापक फ़ॉर्मेट समर्थन** – PDFs, DOCX, XLSX, PPTX और कई अन्य फ़ाइल प्रकारों के साथ काम करता है। +- **सुरक्षित लाइसेंसिंग** – अनुपालन की गारंटी देता है और सभी प्रीमियम फीचर्स को अनलॉक करता है। + +## आवश्यकताएँ +- Java Development Kit (JDK) 8 या उससे ऊपर। +- निर्भरता प्रबंधन के लिए Maven 3 या Gradle 5। +- अस्थायी या पूर्ण GroupDocs.Search लाइसेंस कुंजी तक पहुँच। + +## चरण‑दर‑चरण गाइड + +### चरण 1: अपने प्रोजेक्ट में GroupDocs.Search जोड़ें +`pom.xml` (Maven) या `build.gradle` (Gradle) में GroupDocs.Search निर्भरता शामिल करें। इससे लाइब्रेरी आपके कोड के लिए उपलब्ध हो जाएगी। + +### चरण 2: अपना लाइसेंस लागू करें +`License` ऑब्जेक्ट बनाएं और अपना अस्थायी या स्थायी लाइसेंस फ़ाइल लोड करें। यह चरण पूर्ण कार्यक्षमता को अनलॉक करता है और मूल्यांकन सीमाओं को हटाता है। + +### चरण 3: इंडेक्स सेटिंग्स को इनिशियलाइज़ करें +निर्धारित करें कि इंडेक्स फ़ाइलें डिस्क पर कहाँ संग्रहित होंगी और आवश्यक किसी भी कस्टम इंडेक्सिंग विकल्प को कॉन्फ़िगर करें (जैसे, केस सेंसिटिविटी, स्टॉप वर्ड्स)। + +### चरण 4: अपने दस्तावेज़ों को इंडेक्स करें +`Indexer` क्लास का उपयोग करके फ़ाइलें या फ़ोल्डर इंडेक्स में जोड़ें। GroupDocs.Search स्वचालित रूप से फ़ाइल प्रकारों का पता लगाता है और सर्चेबल टेक्स्ट निकालता है। + +### चरण 5: एक सर्च क्वेरी निष्पादित करें +`SearchOptions` ऑब्जेक्ट बनाएं, क्वेरी स्ट्रिंग निर्दिष्ट करें, और सर्च निष्पादित करें। API मिलते-जुलते दस्तावेज़ों की सूची रिलिवेंस स्कोर के साथ लौटाता है। + +### चरण 6: परिणामों की समीक्षा करें +सर्च परिणामों पर इटरेट करें, फ़ाइल नाम दिखाएँ, और वैकल्पिक रूप से UI में मिलते शब्दों को हाइलाइट करें। + +## सामान्य समस्याएँ और समाधान +- **लाइसेंस पहचाना नहीं गया** – लाइसेंस फ़ाइल पाथ की जाँच करें और सुनिश्चित करें कि यह आपके द्वारा उपयोग किए जा रहे GroupDocs.Search के संस्करण से मेल खाता है। +- **दस्तावेज़ फ़ॉर्मेट गायब** – यदि आपको कम सामान्य फ़ाइल प्रकारों के लिए समर्थन चाहिए तो वैकल्पिक `groupdocs-conversion` ऐड‑ऑन इंस्टॉल करें। +- **प्रदर्शन बाधाएँ** – इन्क्रिमेंटल इंडेक्सिंग का उपयोग करें और तेज़ एक्सेस के लिए SSD स्टोरेज पर इंडेक्स फ़ोल्डर कॉन्फ़िगर करें। + +## अक्सर पूछे जाने वाले प्रश्न + +**Q: क्या मैं Linux सर्वर पर GroupDocs.Search का उपयोग कर सकता हूँ?** +A: हाँ, लाइब्रेरी प्लेटफ़ॉर्म‑इंडिपेंडेंट है और किसी भी OS पर चलती है जो जावा को सपोर्ट करता है। + +**Q: नई फ़ाइलें जोड़ने के बाद मैं इंडेक्स को कैसे अपडेट करूँ?** +A: `Indexer` को नई फ़ाइलों के साथ फिर से कॉल करें; लाइब्रेरी उन्हें मौजूदा इंडेक्स में मर्ज कर देगी। + +**Q: क्या सर्च परिणामों को किसी विशिष्ट फ़ोल्डर तक सीमित करने का कोई तरीका है?** +A: हाँ, क्वेरी निष्पादित करने से पहले `SearchOptions` में फ़ोल्डर फ़िल्टर सेट करें। + +**Q: यदि मैं अस्थायी लाइसेंस अवधि से अधिक हो जाता हूँ तो क्या होगा?** +A: API मूल्यांकन मोड में सीमित फीचर्स के साथ काम करता रहेगा; पूर्ण कार्यक्षमता बहाल करने के लिए लाइसेंस फ़ाइल को स्थायी कुंजी से बदलें। + +**Q: क्या GroupDocs.Search फज़ी सर्च को सपोर्ट करता है?** +A: बिल्कुल—`SearchOptions` में फज़ी मैचिंग सक्षम करें ताकि छोटे वर्तनी अंतर वाले परिणाम प्राप्त हो सकें। + +## अतिरिक्त संसाधन + +### उपलब्ध ट्यूटोरियल + +### [GroupDocs.Search को जावा के लिए डिप्लॉय करें: व्यापक सेटअप गाइड](./deploy-groupdocs-search-java-setup-guide/) +इस चरण‑दर‑चरण गाइड के साथ जावा के लिए GroupDocs.Search को डिप्लॉय और कॉन्फ़िगर करना सीखें। अपने प्रोजेक्ट्स में दस्तावेज़ इंडेक्सिंग और सर्च क्षमताओं को बढ़ाएँ। + +### उपयोगी लिंक +- [GroupDocs.Search for Java दस्तावेज़ीकरण](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API रेफ़रेंस](https://reference.groupdocs.com/search/java/) +- [GroupDocs.Search for Java डाउनलोड करें](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search फ़ोरम](https://forum.groupdocs.com/c/search) +- [नि:शुल्क समर्थन](https://forum.groupdocs.com/) +- [अस्थायी लाइसेंस](https://purchase.groupdocs.com/temporary-license/) + +--- + +**अंतिम अपडेट:** 2025-12-29 +**परीक्षित संस्करण:** GroupDocs.Search 23.12 for Java +**लेखक:** GroupDocs \ No newline at end of file diff --git a/content/hindi/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/hindi/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..65079099 --- /dev/null +++ b/content/hindi/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,239 @@ +--- +date: '2025-12-29' +description: डायरेक्टरी जावा को साफ़ करना, दस्तावेज़ प्रबंधन को स्वचालित करना, और + GroupDocs.Search for Java का उपयोग करके फ़ाइलों का नाम बदलना सीखें। अपने अनुप्रयोगों + में दक्षता बढ़ाएँ। +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: डायरेक्टरी साफ़ करें जावा – इंडेक्सिंग और रीनेमिंग को स्वचालित करें +type: docs +url: /hi/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – GroupDocs.Search का उपयोग करके दस्तावेज़ इंडेक्सिंग और रीनेमिंग को स्वचालित करें + +यदि आपको दस्तावेज़ इंडेक्सिंग और रीनेमिंग को स्वचालित करते हुए **clean directory java** करने की आवश्यकता है, तो आप सही जगह पर आए हैं। फ़ाइलों को मैन्युअल रूप से स्थानांतरित करना, हटाना और इंडेक्स अपडेट करना त्रुटिप्रवण और समय‑साध्य होता है। इस ट्यूटोरियल में हम आपको दिखाएंगे कि कैसे Java को भारी काम करने दें, **GroupDocs.Search for Java** का उपयोग करके एक सर्चेबल इंडेक्स बनाएं, फ़ाइलों का नाम बदलें, और इंडेक्स को स्वचालित रूप से सिंक में रखें। + +## त्वरित उत्तर +- **“clean directory java” का क्या अर्थ है?** Java कोड का उपयोग करके लक्ष्य डायरेक्टरी के भीतर सभी फ़ाइलें/फ़ोल्डर हटाना। +- **कौन सा लाइब्रेरी सर्चेबल इंडेक्स बनाता है?** GroupDocs.Search for Java। +- **मैं दस्तावेज़ का नाम कैसे बदलूँ और इंडेक्स को अपडेट रखूँ?** `File.renameTo()` का उपयोग करें और फिर `Notification.createRenameNotification` के साथ इंडेक्स को सूचित करें। +- **फ़ोल्डर को साफ़ करने के बाद क्या मैं फ़ाइलें कॉपी कर सकता हूँ?** हाँ – Java Streams फ़ाइलों को कॉपी कर सकते हैं जबकि इंडेक्स को संरक्षित रखते हैं। +- **क्या प्रोडक्शन के लिए लाइसेंस आवश्यक है?** व्यावसायिक उपयोग के लिए एक वैध GroupDocs.Search लाइसेंस आवश्यक है। + +## “clean directory java” क्या है? +Java में किसी डायरेक्टरी को साफ़ करना मतलब प्रोग्रामेटिक रूप से निर्दिष्ट फ़ोल्डर के भीतर सभी फ़ाइलें और सब‑फ़ोल्डर हटाना। यह अक्सर नई फ़ाइलें कॉपी करने या इंडेक्स को पुनः बनाने से पहले की पूर्वशर्त होती है, जिससे पुराना डेटा खोज परिणामों में बाधा न बन सके। + +## दस्तावेज़ इंडेक्सिंग और रीनेमिंग को स्वचालित क्यों करें? +- **डॉक्यूमेंट मैनेजमेंट ऑटोमेशन** मैन्युअल प्रयास को कम करता है और मानवीय त्रुटियों को समाप्त करता है। +- **सर्चेबल इंडेक्स बनाना** चरण आपको सामग्री के आधार पर तुरंत किसी भी दस्तावेज़ को खोजने की सुविधा देता है। +- इंडेक्स को अपडेट किए बिना फ़ाइलों का नाम बदलना खोज की सटीकता को बिगाड़ देगा; ऑटोमेशन सब कुछ संगत रखता है। + +## पूर्वापेक्षाएँ +- **GroupDocs.Search for Java** (संस्करण 25.4 या बाद का) +- JDK 8 + और IntelliJ IDEA या Eclipse जैसे IDE +- बुनियादी Java ज्ञान, विशेषकर फ़ाइल I/O + +## GroupDocs.Search for Java सेटअप करना + +### Maven निर्भरता +`pom.xml` में रिपॉज़िटरी और निर्भरता जोड़ें: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### सीधे डाउनलोड +वैकल्पिक रूप से, नवीनतम संस्करण [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) से डाउनलोड करें। + +### लाइसेंस +एक मुफ्त ट्रायल, अस्थायी मूल्यांकन लाइसेंस प्राप्त करें, या प्रोडक्शन उपयोग के लिए पूर्ण लाइसेंस खरीदें। + +### बुनियादी इनिशियलाइज़ेशन +एक `Index` इंस्टेंस बनाएं जो सर्चेबल डेटा को रखेगा: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## कार्यान्वयन गाइड + +### 1. दस्तावेज़ को इंडेक्स में जोड़ें (सर्चेबल इंडेक्स बनाएं) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*व्याख्या*: +- `indexFolder` – वह स्थान जहाँ इंडेक्स फ़ाइलें संग्रहीत होती हैं। +- `documentFolder` – स्रोत फ़ोल्डर जिसमें वे फ़ाइलें हैं जिन्हें आप सर्चेबल बनाना चाहते हैं। + +### 2. दस्तावेज़ का नाम बदलें और इंडेक्स को सूचित करें + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*व्याख्या*: +- Java का `File.renameTo()` वास्तविक रीनेम करता है। +- `Notification.createRenameNotification()` GroupDocs.Search को बताता है कि फ़ाइल का नाम बदल गया है, जिससे इंडेक्स सटीक बना रहता है। + +## Clean Directory Java – डायरेक्टरी सफाई और फ़ाइल कॉपी करना + +बड़े पैमाने पर कॉपी करने से पहले फ़ोल्डर को व्यवस्थित रखना डुप्लिकेट या अनाथ फ़ाइलों को रोकता है। नीचे दो पुन: उपयोग योग्य स्निपेट्स हैं। + +### चरण 1: फ़ोल्डर की सामग्री हटाएँ (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*व्याख्या*: +- `Files.walk()` हर फ़ाइल और सब‑फ़ोल्डर को ट्रैवर्स करता है। +- रिवर्स क्रम में सॉर्ट करने से फ़ाइलें उनके पैरेंट डायरेक्टरी से पहले हटती हैं, जिससे प्रभावी रूप से **फ़ोल्डर की सामग्री हटाना** संभव होता है। + +### चरण 2: फ़ाइलें कॉपी करें (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*व्याख्या*: +- स्ट्रीम केवल रेगुलर फ़ाइलों को फ़िल्टर करती है, फिर प्रत्येक को टार्गेट डायरेक्टरी में कॉपी करती है, आवश्यकता पड़ने पर मौजूदा फ़ाइलों को ओवरराइट करती है। + +## व्यावहारिक अनुप्रयोग +- **एंटरप्राइज़ डॉक्यूमेंट मैनेजमेंट** – हजारों कॉन्ट्रैक्ट्स के लिए इंडेक्सिंग को ऑटोमेट करें और फ़ाइल नामों को सिंक में रखें। +- **लीगल फर्म्स** – सर्चेबल कंटेंट को संरक्षित रखते हुए केस फ़ाइलों का शीघ्र रीनेम करें। +- **कंटेंट मैनेजमेंट सिस्टम्स** – मैन्युअल सफाई के बिना मीडिया फ़ोल्डर को रिफ्रेश करने के लिए clean‑directory पैटर्न का उपयोग करें। + +## प्रदर्शन संबंधी विचार +- **इंडेक्स आकार** – यदि इंडेक्स बड़ा हो जाता है तो समय-समय पर इसे कॉम्पैक्ट करें। +- **मेमोरी उपयोग** – `OutOfMemoryError` से बचने के लिए फ़ाइलों को बैच में प्रोसेस करें। +- **समकालिकता** – बड़े ऑपरेशन्स के लिए, सफाई और कॉपी को समानांतर करने हेतु Java के `ExecutorService` पर विचार करें। + +## सामान्य समस्याएँ और टिप्स +| समस्या | कारण | समाधान | +|-------|-------|-----| +| रीनेम विफल | फ़ाइल लॉक है या पाथ अमान्य है | सुनिश्चित करें कि फ़ाइल कहीं और खुली नहीं है; अधिक विश्वसनीय रीनेम के लिए `Files.move` का उपयोग करें। | +| इंडेक्स अपडेट नहीं हो रहा | सूचना नहीं भेजी गई | हमेशा `index.notifyIndex(notification)` को कॉल करें और फिर `index.update()` करें। | +| कॉपी के बाद पुरानी खोज परिणाम | इंडेक्स अभी भी पुरानी फ़ाइलों की ओर इशारा कर रहा है | टार्गेट फ़ोल्डर को फिर से इंडेक्स में जोड़ें या कॉपी के बाद `index.update()` कॉल करें। | + +## अक्सर पूछे जाने वाले प्रश्न + +**प्रश्न: क्या मैं ऐसी डायरेक्टरी को साफ़ कर सकता हूँ जिसमें सब‑फ़ोल्डर हों?** +उत्तर: हाँ। `Files.walk()` दृष्टिकोण सभी नेस्टेड फ़ाइलों और फ़ोल्डरों को पुनरावर्ती रूप से हटाता है। + +**प्रश्न: क्या प्रत्येक रीनेम के बाद मुझे पूरा इंडेक्स पुनः बनाना चाहिए?** +उत्तर: नहीं। रीनेम सूचना भेजना और `index.update()` कॉल करना पर्याप्त है। + +**प्रश्न: प्रदर्शन सीमा तक पहुँचने से पहले मैं कितनी बड़ी फ़ोल्डर को साफ़ कर सकता हूँ?** +उत्तर: यह JVM मेमोरी पर निर्भर करता है; छोटे बैच में प्रोसेस करना या स्ट्रीम्स का उपयोग करना बड़े डेटा सेट को प्रबंधित करने में मदद करता है। + +**प्रश्न: क्या विकास के लिए GroupDocs.Search मुफ्त है?** +उत्तर: एक मुफ्त ट्रायल उपलब्ध है, लेकिन प्रोडक्शन उपयोग के लिए भुगतान किया गया लाइसेंस आवश्यक है। + +**प्रश्न: क्या मैं इस दृष्टिकोण को अन्य फ़ाइल प्रकारों (जैसे PDFs, DOCX) के साथ उपयोग कर सकता हूँ?** +उत्तर: बिल्कुल। GroupDocs.Search कई फ़ॉर्मैट्स को सपोर्ट करता है; बस उन फ़ाइलों वाले फ़ोल्डर को इंडेक्स में जोड़ें। + +## निष्कर्ष +अब आपके पास **clean directory java** के लिए एक पूर्ण, प्रोडक्शन‑रेडी समाधान है, जिसमें दस्तावेज़ों को सर्चेबल इंडेक्स में जोड़ना, फ़ाइलों का नाम बदलना, और सब कुछ GroupDocs.Search के साथ सिंक्रनाइज़ रखना शामिल है। इन पैटर्न को अपनाकर अपने डॉक्यूमेंट मैनेजमेंट वर्कफ़्लो को स्वचालित करें और तेज़, अधिक भरोसेमंद खोज अनुभव का आनंद लें। + +--- + +**अंतिम अपडेट:** 2025-12-29 +**परीक्षित संस्करण:** GroupDocs.Search 25.4 +**लेखक:** GroupDocs \ No newline at end of file diff --git a/content/hindi/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/hindi/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..408f198b --- /dev/null +++ b/content/hindi/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search के साथ Java में दस्तावेज़ पासवर्ड कैसे प्रबंधित करें, + खोज योग्य इंडेक्स बनाएं, और कई दस्तावेज़ों में कुशलतापूर्वक खोज करें। +keywords: +- manage document passwords java +- search across multiple documents +title: GroupDocs.Search का उपयोग करके जावा में दस्तावेज़ पासवर्ड प्रबंधित करें +type: docs +url: /hi/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Manage Document Passwords Java using GroupDocs.Search + +आधुनिक एंटरप्राइज़ एप्लिकेशन्स में, **manage document passwords Java** संवेदनशील फ़ाइलों को सुरक्षित रखने और तेज़, विश्वसनीय खोज की सुविधा प्रदान करने के लिए एक महत्वपूर्ण कदम है। इस गाइड में हम दिखाएंगे कि कैसे GroupDocs.Search के साथ इंडेक्स बनाएं और प्रबंधित करें, पासवर्ड को इंडेक्स डिक्शनरी में सुरक्षित रूप से स्टोर करें, और फिर **search across multiple documents** को आसानी से करें। चाहे आप एक दस्तावेज़‑प्रबंधन प्रणाली बना रहे हों या मौजूदा Java ऐप में खोज जोड़ रहे हों, नीचे दिए गए चरण आपको जल्दी से शुरू करने में मदद करेंगे। + +## Quick Answers +- **“manage document passwords Java” का क्या मतलब है?** यह संरक्षित फ़ाइलों के पासवर्ड को सीधे सर्च इंडेक्स में स्टोर करने और पुनः प्राप्त करने को दर्शाता है। +- **क्या मैं पासवर्ड‑सुरक्षित फ़ाइलों को इंडेक्स कर सकता हूँ?** हाँ—इंडेक्सिंग से पहले पासवर्ड को इंडेक्स डिक्शनरी में जोड़ें। +- **एक साथ कितनी दस्तावेज़ों को खोज सकता हूँ?** GroupDocs.Search एक ही क्वेरी में **search across multiple documents** कर सकता है। +- **क्या प्रोडक्शन के लिए लाइसेंस चाहिए?** प्रोडक्शन उपयोग के लिए लाइसेंस आवश्यक है; मूल्यांकन के लिए एक फ्री ट्रायल उपलब्ध है। +- **कौन सा Java संस्करण आवश्यक है?** JDK 8 या उससे ऊपर। + +## What is “manage document passwords Java”? +सर्च इंडेक्स के भीतर दस्तावेज़ पासवर्ड को स्टोर करने से इंजन इंडेक्सिंग और सर्च के दौरान स्वचालित रूप से संरक्षित फ़ाइलों को खोल सकता है, जिससे हर बार मैन्युअल पासवर्ड एंट्री की आवश्यकता नहीं रहती। + +## Why use GroupDocs.Search for this task? +- **Built‑in password dictionary** – पासवर्ड को फ़ाइल पाथ के साथ जोड़े रखें। +- **High‑performance indexing** – हजारों फ़ाइलों को तेज़ी से प्रोसेस करें। +- **Rich query language** – कई दस्तावेज़ प्रकारों में जटिल खोजों का समर्थन करता है। + +## Prerequisites +- **JDK 8+** स्थापित हो। +- **Maven** डिपेंडेंसी मैनेजमेंट के लिए। +- बेसिक Java ज्ञान (फ़ाइल हैंडलिंग, क्लासेज)। + +## Setting Up GroupDocs.Search for Java + +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +You can also download the library directly from the official release page: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Initialize the Index + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – सुरक्षित, खोज योग्य अभिलेख। +- **Content Management Platforms** – संरक्षित एसेट्स की तेज़ पुनर्प्राप्ति। +- **Legal Document Repositories** – गोपनीयता बनाए रखते हुए फुल‑टेक्स्ट सर्च सक्षम करना। + +## Performance Considerations +- **Parallel Indexing** – बड़े बैच के लिए कई थ्रेड्स का उपयोग करें। +- **Memory Monitoring** – बड़े इम्पोर्ट के दौरान JVM हीप पर नज़र रखें। +- **Regular Index Maintenance** – फ़ाइलों में बदलाव या पासवर्ड अपडेट होने पर पुनः‑इंडेक्स करें। + +## Conclusion +अब आप जानते हैं कि **manage document passwords Java** को GroupDocs.Search के साथ कैसे किया जाता है, मजबूत इंडेक्स कैसे बनाएँ, और शक्तिशाली **search across multiple documents** कैसे चलाएँ। इन चरणों को अपने एप्लिकेशन में एकीकृत करके आप सुरक्षित, तेज़ और स्केलेबल सर्च अनुभव प्रदान करेंगे। + +**Next Steps** +- उन्नत क्वेरी ऑपरेटर (वाइल्डकार्ड, फज़ी सर्च) आज़माएँ। +- रीयल‑टाइम अपडेट के लिए इन्क्रिमेंटल इंडेक्सिंग का अन्वेषण करें। +- PDF कन्वर्ज़न या एनोटेशन के लिए अन्य GroupDocs उत्पादों के साथ संयोजन करें। + +## Frequently Asked Questions + +**Q: क्या मैं बड़ी मात्रा में दस्तावेज़ों को इंडेक्स कर सकता हूँ?** +A: हाँ, GroupDocs.Search बड़े संग्रहों को प्रभावी ढंग से संभालने के लिए डिज़ाइन किया गया है। + +**Q: क्या मौजूदा इंडेक्स को नए दस्तावेज़ों के साथ अपडेट किया जा सकता है?** +A: बिल्कुल! आप आवश्यकता अनुसार अपने इंडेक्स में दस्तावेज़ जोड़ या हटाए सकते हैं। + +**Q: मैं अपने इंडेक्स्ड डेटा की सुरक्षा कैसे सुनिश्चित करूँ?** +A: दस्तावेज़‑पासवर्ड डिक्शनरी का उपयोग करें और इंडेक्स को सुरक्षित डायरेक्टरी में रखें। + +**Q: क्या GroupDocs.Search विभिन्न फ़ाइल फ़ॉर्मैट्स को संभाल सकता है?** +A: हाँ, यह PDFs, Word फ़ाइलें, Excel शीट्स और कई अन्य सामान्य फ़ॉर्मैट्स को सपोर्ट करता है। + +**Q: यदि इंडेक्सिंग के दौरान प्रदर्शन समस्याएँ आती हैं तो क्या करें?** +A: पैरलल प्रोसेसिंग सक्षम करें, हीप साइज बढ़ाएँ, या इंडेक्स सेटिंग्स को ट्यून करें। + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/hindi/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/hindi/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..57a842da --- /dev/null +++ b/content/hindi/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java के साथ जावा दस्तावेज़ों को इंडेक्स करना और + सर्च इंडेक्स बनाना सीखें। यह गाइड सेटअप, इंडेक्सिंग, सर्चिंग और दस्तावेज़ों को प्रभावी + ढंग से प्रबंधित करने को कवर करता है। +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: GroupDocs.Search के साथ जावा दस्तावेज़ों को कैसे इंडेक्स करें – कुशल खोज +type: docs +url: /hi/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Java दस्तावेज़ों को GroupDocs.Search के साथ कैसे इंडेक्स करें – कुशल खोज + +## परिचय + +क्या आप बड़ी मात्रा में दस्तावेज़ों से अभिभूत हैं और **how to index java** फ़ाइलों को जल्दी से कैसे इंडेक्स किया जाए, इस बारे में सोच रहे हैं? कई व्यवसाय और व्यक्ति इस चुनौती का सामना रोज़ाना करते हैं। **GroupDocs.Search for Java** एक प्रभावी समाधान प्रदान करता है जो दस्तावेज़ खोज को सुव्यवस्थित करता है, जिससे प्रक्रिया तेज़ और अधिक प्रबंधनीय बनती है। + +इस ट्यूटोरियल में, हम आपको GroupDocs.Search for Java का उपयोग करके आपके दस्तावेज़ों का एक इंडेक्स्ड रिपॉज़िटरी बनाने के चरण दिखाएंगे। आप फ़ाइल सिस्टम से दस्तावेज़ लोड करना, खोज करना, हटाने का प्रबंधन करना, और इंडेक्स्ड डेटा को कुशलतापूर्वक तथा स्केलेबली पुनः प्राप्त करना सीखेंगे। + +**आप क्या सीखेंगे:** +- GroupDocs.Search for Java को सेट अप और कॉन्फ़िगर करना। +- **एक सर्च इंडेक्स बनाना** और स्ट्रीम से दस्तावेज़ों को इंडेक्स करना। +- फ़ाइल सिस्टम से दस्तावेज़ लोड करना। +- **आपके इंडेक्स पर कीवर्ड सर्च** करना। +- **विशिष्ट दस्तावेज़ों के लिए इंडेक्स एंट्रीज़ को कैसे डिलीट करें**। +- डिलीशन के बाद इंडेक्स्ड दस्तावेज़ों को पुनः प्राप्त करना। + +क्या आप दस्तावेज़ खोज को पूरी तरह बदलने के लिए तैयार हैं? चलिए आवश्यकताओं से शुरू करते हैं! + +## त्वरित उत्तर +- **मुख्य उद्देश्य क्या है?** Java दस्तावेज़ों को कुशलतापूर्वक इंडेक्स और सर्च करना। +- **कौन सी लाइब्रेरी आवश्यक है?** GroupDocs.Search for Java (v25.4+)। +- **क्या मुझे लाइसेंस चाहिए?** एक फ्री ट्रायल या टेम्पररी लाइसेंस उपलब्ध है; प्रोडक्शन के लिए स्थायी लाइसेंस आवश्यक है। +- **क्या मैं इंडेक्स से दस्तावेज़ डिलीट कर सकता हूँ?** हाँ, `delete` मेथड को डॉक्यूमेंट कीज़ के साथ उपयोग करके। +- **क्या Apache Commons IO अनिवार्य है?** फ़ाइल हैंडलिंग यूटिलिटीज़ के लिए यह अनुशंसित है। + +## “how to index java” क्या है? +Java दस्तावेज़ों को इंडेक्स करना का अर्थ है एक सर्चेबल डेटा स्ट्रक्चर (इंडेक्स) बनाना जो दस्तावेज़ सामग्री को सर्चेबल टर्म्स से मैप करता है, जिससे कीवर्ड क्वेरीज़ के आधार पर प्रासंगिक फ़ाइलें तेज़ी से प्राप्त की जा सकें। + +## GroupDocs.Search for Java क्यों उपयोग करें? +- **गति:** ऑप्टिमाइज़्ड एल्गोरिदम बड़े संग्रहों पर भी तेज़ क्वेरी परिणाम देते हैं। +- **स्केलेबिलिटी:** प्रदर्शन से समझौता किए बिना हजारों दस्तावेज़ संभालता है। +- **लचीलापन:** विभिन्न फ़ाइल फ़ॉर्मेट का समर्थन करता है और बड़े फ़ाइलों के लिए लेज़ी लोडिंग प्रदान करता है। +- **इंटीग्रेशन में आसान:** सरल Maven सेटअप और सीधा API। + +## पूर्वापेक्षाएँ + +शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं: + +### आवश्यक लाइब्रेरी और डिपेंडेंसीज़ +- **GroupDocs.Search for Java**: संस्करण 25.4 या बाद का स्थापित होना चाहिए। +- **Apache Commons IO**: फ़ाइल हैंडलिंग यूटिलिटीज़ के लिए आवश्यक। + +### पर्यावरण सेटअप आवश्यकताएँ +- Java Development Kit (JDK) 8 या उससे ऊपर। +- IntelliJ IDEA या Eclipse जैसे इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट (IDE)। + +### ज्ञान संबंधी पूर्वापेक्षाएँ +- Java प्रोग्रामिंग और ऑब्जेक्ट‑ओरिएंटेड कॉन्सेप्ट्स की बुनियादी समझ। +- Maven के साथ डिपेंडेंसी मैनेजमेंट का परिचय उपयोगी है, लेकिन अनिवार्य नहीं। + +## GroupDocs.Search for Java सेट अप करना + +Maven का उपयोग करके अपने प्रोजेक्ट पर्यावरण को सेट अप करने के चरण निम्नलिखित हैं: + +**Maven कॉन्फ़िगरेशन:** +`pom.xml` फ़ाइल में निम्नलिखित रिपॉज़िटरी और डिपेंडेंसी जोड़ें: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**डायरेक्ट डाउनलोड:** +वैकल्पिक रूप से, नवीनतम संस्करण सीधे यहाँ से डाउनलोड करें: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)। + +### लाइसेंस प्राप्त करने के चरण +- **फ्री ट्रायल:** क्षमताओं का परीक्षण करने के लिए फ्री ट्रायल शुरू करें। +- **टेम्पररी लाइसेंस:** सभी फीचर्स को बिना प्रतिबंध के एक्सप्लोर करने के लिए टेम्पररी लाइसेंस के लिए आवेदन करें। +- **खरीद:** यदि यह आपकी जरूरतों को पूरा करता है तो खरीदने पर विचार करें। + +**बेसिक इनिशियलाइज़ेशन और सेटअप:** + +पर्यावरण तैयार होने के बाद, GroupDocs.Search को इस प्रकार इनिशियलाइज़ करें: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## GroupDocs.Search का उपयोग करके Java दस्तावेज़ों को कैसे इंडेक्स करें + +### दस्तावेज़ बनाना और इंडेक्स करना + +**सारांश:** निर्दिष्ट फ़ोल्डर में एक इंडेक्स बनाना और स्ट्रीम से दस्तावेज़ जोड़ना सीखें, जिससे **create search index** प्रक्रिया सरल हो जाती है। + +#### चरण 1: एक इंडेक्स बनाएं +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **पैरामीटर्स:** पहला पैरामीटर इंडेक्स संग्रहीत करने के लिए डायरेक्टरी पाथ है। दूसरा बूलियन इंगित करता है कि यदि इंडेक्स मौजूद है तो उसे ऑटोमैटिक अपडेट किया जाए। + +#### चरण 2: स्ट्रीम से दस्तावेज़ लोड और जोड़ें +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **व्याख्या:** यहाँ आप `DocumentLoader` बनाते हैं जो फ़ाइल पढ़ता है और उसे इंडेक्सिंग के लिए तैयार करता है। बड़े फ़ाइलों को कुशलतापूर्वक संभालने के लिए `createLazy` मेथड का उपयोग किया जाता है। + +### फ़ाइल सिस्टम से दस्तावेज़ लोड करना + +**सारांश:** Apache Commons IO यूटिलिटीज़ का उपयोग करके आपके फ़ाइल सिस्टम से सीधे दस्तावेज़ पढ़ने वाला कस्टम लोडर लागू करें। + +#### चरण 1: Document Loader परिभाषित करें +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **विवरण:** यह क्लास फ़ाइल को बाइट एरे में पढ़ता है और उससे एक `Document` ऑब्जेक्ट बनाता है। + +### इंडेक्स में कीवर्ड सर्च करना + +**सारांश:** आपके इंडेक्स्ड दस्तावेज़ों पर सर्च ऑपरेशन चलाएँ ताकि प्रासंगिक जानकारी जल्दी से प्राप्त हो सके। + +#### चरण 1: सर्च निष्पादित करें +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **व्याख्या:** सरल टेक्स्ट क्वेरी के साथ `search` मेथड का उपयोग करके इंडेक्स्ड डेटा से परिणाम प्राप्त करें। यह **java document search** परिदृश्यों के लिए प्रभावी है। + +### इंडेक्स एंट्रीज़ को कैसे डिलीट करें + +**सारांश:** उनके कीज़ का उपयोग करके विशिष्ट दस्तावेज़ों को डिलीट करके अपने इंडेक्स का प्रबंधन करें। + +#### चरण 1: दस्तावेज़ डिलीट करें +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **पैरामीटर्स:** उन दस्तावेज़ कीज़ की एरे पास करें जिन्हें आप इंडेक्स से हटाना चाहते हैं। `UpdateOptions` लचीली डिलीशन स्ट्रेटेजी प्रदान करता है। + +### डिलीशन के बाद इंडेक्स्ड दस्तावेज़ पुनः प्राप्त करना + +**सारांश:** दस्तावेज़ डिलीट करने के बाद शेष इंडेक्स्ड फ़ाइलों की सूची प्राप्त करें ताकि डेटा इंटेग्रिटी सुनिश्चित हो सके। + +#### चरण 1: शेष दस्तावेज़ प्राप्त करें +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **व्याख्या:** यह चरण डिलीशन के बाद आपके इंडेक्स की वर्तमान स्थिति को सत्यापित करने में मदद करता है। + +## व्यावहारिक अनुप्रयोग + +GroupDocs.Search for Java बहुमुखी है और कई उपयोग मामलों को सपोर्ट करता है, जैसे: + +1. **एंटरप्राइज़ डॉक्यूमेंट मैनेजमेंट:** कंपनी के दस्तावेज़ों को तेज़ी से सर्च करके उत्पादकता बढ़ाएँ। +2. **लीगल डॉक्यूमेंट एनालिसिस:** केस फ़ाइलों और कानूनी टेक्स्ट को कुशलतापूर्वक छानें ताकि प्रासंगिक प्रीसिडेंट्स मिल सकें। +3. **लाइब्रेरी कैटलॉगिंग सिस्टम:** बड़ी पुस्तक और पांडुलिपि संग्रह को इंडेक्स और मैनेज करें ताकि आसान एक्सेस हो सके। + +## प्रदर्शन संबंधी विचार + +सर्वोत्तम प्रदर्शन के लिए: + +- **इंडेक्स ऑप्टिमाइज़ेशन:** दस्तावेज़ों में हालिया बदलावों को प्रतिबिंबित करने के लिए नियमित रूप से अपना इंडेक्स अपडेट करें। +- **मेमोरी मैनेजमेंट:** संसाधन‑भारी ऑपरेशन्स को मैनेज करके Java की गार्बेज कलेक्शन का प्रभावी उपयोग करें। +- **स्केलेबिलिटी:** सुनिश्चित करें कि आपका इंडेक्सिंग स्ट्रेटेजी बड़े डेटा वॉल्यूम को बिना प्रदर्शन गिरावट के संभाल सके। + +## सामान्य समस्याएँ और समाधान + +| समस्या | कारण | समाधान | +|-------|-------|----------| +| **कोई परिणाम नहीं मिला** | क्वेरी टर्म्स इंडेक्स नहीं हुए या स्टॉप‑वर्ड्स फ़िल्टर हुए | `IndexingOptions` की जाँच करें और स्टॉप‑वर्ड्स लिस्ट को समायोजित करें | +| **आउट‑ऑफ़‑मेमोरी त्रुटियाँ** | लेज़ी लोडिंग के बिना बहुत बड़ी फ़ाइलें लोड की गईं | `Document.createLazy` का उपयोग करें या JVM हीप साइज बढ़ाएँ | +| **डिलीट किए गए दस्तावेज़ अभी भी दिख रहे हैं** | डिलीशन के बाद इंडेक्स रिफ्रेश नहीं हुआ | `index.optimize()` कॉल करें या इंडेक्स को पुनः खोलें | + +## अक्सर पूछे जाने वाले प्रश्न + +**प्रश्न:** क्या मैं PDFs, DOCX, और PPTX को एक साथ इंडेक्स कर सकता हूँ? +**उत्तर:** हाँ, GroupDocs.Search बॉक्स से बाहर कई फ़ॉर्मेट का समर्थन करता है। + +**प्रश्न:** “how to delete index” कैसे काम करता है? +**उत्तर:** `delete` मेथड दस्तावेज़ कीज़ के आधार पर एंट्रीज़ हटाता है और आंतरिक पोस्टिंग लिस्ट को अपडेट करके इंडेक्स को सुसंगत रखता है। + +**प्रश्न:** क्या मैं इंडेक्स साइज मॉनिटर कर सकता हूँ? +**उत्तर:** `index.getStatistics()` का उपयोग करके दस्तावेज़ काउंट और स्टोरेज साइज जैसी जानकारी प्राप्त करें। + +**प्रश्न:** क्या प्रत्येक डिलीशन के बाद पूरे इंडेक्स को रीबिल्ड करना पड़ता है? +**उत्तर:** नहीं, `delete` ऑपरेशन इंडेक्स को इन्क्रिमेंटली अपडेट करता है, मौजूदा डेटा को संरक्षित रखते हुए। + +**प्रश्न:** यदि स्कीमा परिवर्तन के बाद सभी दस्तावेज़ों को री‑इंडेक्स करना पड़े तो? +**उत्तर:** अलग फ़ोल्डर पाथ के साथ नया `Index` इंस्टेंस बनाएं और सभी दस्तावेज़ों को पुनः जोड़ें। + +## निष्कर्ष + +अब तक, आपको **how to index java** दस्तावेज़ों को कैसे इंडेक्स किया जाए और GroupDocs.Search for Java का उपयोग करके तेज़ खोज कैसे की जाए, की ठोस समझ होनी चाहिए। यह शक्तिशाली लाइब्रेरी बड़े दस्तावेज़ संग्रहों से जानकारी को मैनेज और पुनः प्राप्त करने के तरीके को बदल सकती है, जिससे यह किसी भी संगठन के लिए अमूल्य टूल बन जाता है। + +**अगले कदम:** +- विभिन्न दस्तावेज़ प्रकारों और जटिल क्वेरीज़ के साथ प्रयोग करें। +- फ़ेसेटेड सर्च, मेटाडेटा इंडेक्सिंग, और कस्टम एनालाइज़र जैसी उन्नत सुविधाओं का अन्वेषण करें। + +क्या आप अपना इंडेक्सिंग सफर शुरू करने के लिए तैयार हैं? इन तकनीकों को आज ही लागू करें और तेज़, अधिक सटीक दस्तावेज़ पुनः प्राप्ति का अनुभव करें! + +--- + +**अंतिम अपडेट:** 2025-12-29 +**परीक्षित संस्करण:** GroupDocs.Search Java 25.4 +**लेखक:** GroupDocs \ No newline at end of file diff --git a/content/hindi/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/hindi/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..d514d692 --- /dev/null +++ b/content/hindi/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java के उन्नत इंडेक्सिंग फीचर्स का उपयोग करके खोज + प्रदर्शन को अनुकूलित करना सीखें, जिसमें रद्दीकरण, असिंक्रोनस ऑपरेशन्स, मल्टी‑थ्रेडिंग + और मेटाडेटा कस्टमाइज़ेशन शामिल हैं। +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: GroupDocs.Search for Java में उन्नत इंडेक्सिंग तकनीकों के साथ खोज प्रदर्शन + को अनुकूलित करें +type: docs +url: /hi/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# समूहडॉक्स.सर्च फॉर जावा में उन्नत इंडेक्सिंग तकनीकों के साथ खोज प्रदर्शन को अनुकूलित करें + +आज के तेज़ गति वाले डिजिटल माहौल में, **खोज प्रदर्शन को अनुकूलित करना** उपयोगकर्ताओं को तुरंत परिणाम देने के लिए आवश्यक है। चाहे आप एक कस्टम सर्च इंजन बना रहे हों या मौजूदा दस्तावेज़ प्रबंधन प्रणाली को सुधार रहे हों, सही इंडेक्सिंग रणनीति लेटेंसी और संसाधन खपत को नाटकीय रूप से कम कर सकती है। इस ट्यूटोरियल में हम GroupDocs.Search for Java की सबसे शक्तिशाली सुविधाओं—cancellation, asynchronous indexing, multi‑threading, और metadata customization—पर चर्चा करेंगे, ताकि आप **add documents index** को तेज़ और अधिक कुशलता से कर सकें। + +**आप क्या सीखेंगे** + +- निर्दिष्ट समय के बाद इंडेक्सिंग ऑपरेशन को रद्द करने का तरीका +- असिंक्रोनस इंडेक्सिंग ऑपरेशन्स को निष्पादित करना और स्थिति परिवर्तन को संभालना +- तेज़ इंडेक्सिंग के लिए मल्टी‑थ्रेडिंग को कॉन्फ़िगर करना +- मेटाडेटा इंडेक्सिंग विकल्पों को कस्टमाइज़ करना + +कोड में डुबकी लगाने से पहले सुनिश्चित करें कि आपके पास सभी आवश्यक चीज़ें हैं। + +## पूर्वापेक्षाएँ + +- **GroupDocs.Search लाइब्रेरी** – संस्करण 25.4 या बाद का। +- **Java विकास वातावरण** – JDK 8 या उससे अधिक की सिफ़ारिश की जाती है। +- Java और इंडेक्सिंग की अवधारणा की बुनियादी परिचितता। + +### GroupDocs.Search for Java सेटअप करना + +#### Maven इंस्टॉलेशन + +Add the repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### सीधे डाउनलोड + +वैकल्पिक रूप से, नवीनतम JAR को [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) से डाउनलोड करें। + +**लाइसेंस प्राप्ति** – पूर्ण फीचर सेट को अनलॉक करने के लिए मुफ्त ट्रायल से शुरू करें या एक अस्थायी लाइसेंस का अनुरोध करें। + +### बुनियादी इनिशियलाइज़ेशन और सेटअप + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## त्वरित उत्तर +- **रद्दीकरण क्या करता है?** सेट समय के बाद इंडेक्सिंग को रोकता है ताकि संसाधन मुक्त हो सकें। +- **क्या मैं दस्तावेज़ों को असिंक्रोनस रूप से इंडेक्स कर सकता हूँ?** हाँ – `options.setAsync(true)` सेट करें। +- **मैं कितनी थ्रेड्स उपयोग कर सकता हूँ?** कोई भी सकारात्मक पूर्णांक; अधिकांश सर्वरों के लिए सामान्य मान 2‑4 हैं। +- **क्या मेटाडेटा इंडेक्सिंग वैकल्पिक है?** बिल्कुल – आप प्रत्येक फ़ील्ड के अनुसार इसे सक्षम या फाइन‑ट्यून कर सकते हैं। +- **क्या इन सुविधाओं के लिए लाइसेंस आवश्यक है?** परीक्षण के लिए ट्रायल काम करता है; उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है। + +## इस संदर्भ में “खोज प्रदर्शन को अनुकूलित करना” क्या है? + +खोज प्रदर्शन को अनुकूलित करना मतलब इंडेक्सिंग प्रक्रिया को इस तरह कॉन्फ़िगर करना है कि वह सही मात्रा में CPU, मेमोरी और समय का उपयोग करे और तुरंत सबसे प्रासंगिक परिणाम प्रदान करे। रद्दीकरण, असिंक्रोनस निष्पादन, थ्रेडिंग और मेटाडेटा हैंडलिंग को नियंत्रित करके, आप सीधे प्रभावित करते हैं कि इंजन कितनी तेज़ी से **add documents index** कर सकता है और क्वेरीज़ का उत्तर दे सकता है। + +## उन्नत इंडेक्सिंग सुविधाओं का उपयोग क्यों करें? + +- **कम हुई लेटेंसी** – असिंक्रोनस और मल्टी‑थ्रेडेड इंडेकसिंग आपके एप्लिकेशन को प्रतिक्रियाशील रखती है। +- **बेहतर संसाधन प्रबंधन** – रद्दीकरण अनियंत्रित प्रक्रियाओं को रोकता है। +- **अनुकूलित खोज प्रासंगिकता** – मेटाडेटा विकल्प आपको सबसे महत्वपूर्ण जानकारी को उजागर करने देते हैं। + +## कार्यान्वयन गाइड + +### रद्दीकरण प्रॉपर्टी + +**सारांश** – संसाधनों की अधिक खपत से बचने के लिए निर्दिष्ट अवधि के बाद इंडेक्सिंग को रद्द करें। + +#### चरण 1: वातावरण सेट करें + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### चरण 2: रद्दीकरण के साथ इंडेक्सिंग विकल्प बनाएं + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**मुख्य बिंदु** + +- `setCancellation()` फीचर को सक्रिय करता है। +- `cancelAfter(int milliseconds)` टाइमआउट को परिभाषित करता है (इस उदाहरण में 3 सेकंड)। + +### असिंक्रोनस प्रॉपर्टी + +**सारांश** – बैकग्राउंड थ्रेड पर इंडेक्सिंग चलाएँ और स्थिति परिवर्तन के लिए सुनें। + +#### चरण 1: वातावरण सेट करें + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### चरण 2: स्थिति परिवर्तन इवेंट को सब्सक्राइब करें + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### चरण 3: असिंक्रोनस विकल्प कॉन्फ़िगर करें + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### थ्रेड्स प्रॉपर्टी + +**सारांश** – कई CPU कोर का उपयोग करके इंडेक्सिंग को तेज़ करें। + +#### चरण 1: वातावरण सेट करें + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### चरण 2: मल्टी‑थ्रेडिंग कॉन्फ़िगर करें + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### मेटाडेटा इंडेक्सिंग विकल्प प्रॉपर्टी + +**सारांश** – यह निर्धारित करें कि कौन सा दस्तावेज़ मेटाडेटा इंडेक्स किया जाए और वह कैसे संग्रहीत हो। + +#### चरण 1: वातावरण सेट करें + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### चरण 2: मेटाडेटा विकल्प कॉन्फ़िगर करें + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## व्यावहारिक अनुप्रयोग + +1. **डॉक्यूमेंट मैनेजमेंट सिस्टम** – असिंक्रोनस इंडेक्सिंग का उपयोग करें ताकि बड़े बैच बैकग्राउंड में प्रोसेस होते समय UI प्रतिक्रियाशील रहे। +2. **कंटेंट सर्च इंजन** – पिक ट्रैफ़िक के दौरान लंबे समय तक चलने वाले जॉब्स को सर्वर संसाधनों को हड़पने से रोकने के लिए रद्दीकरण लागू करें। +3. **बड़े पैमाने की इनजेशन पाइपलाइन** – स्केल पर **add documents index** करने के लिए मल्टी‑थ्रेडिंग का उपयोग करें, जिससे प्रोसेसिंग समय नाटकीय रूप से घटे। + +## प्रदर्शन संबंधी विचार + +- **थ्रेड प्रबंधन** – CPU उपयोग की निगरानी करें; बहुत अधिक थ्रेड्स से कॉन्टेक्स्ट‑स्विच ओवरहेड बढ़ सकता है। +- **मेमोरी फुटप्रिंट** – मेटाडेटा सीमाएँ (जैसे, `setMaxBytesToIndexField`) मेमोरी उपयोग को पूर्वानुमानित रखने में मदद करती हैं। +- **गार्बेज कलेक्शन** – बड़े कॉर्पोरा को इंडेक्स करते समय उपयुक्त JVM फ़्लैग्स (`-Xmx`, `-XX:+UseG1GC`) का उपयोग करें। + +## सामान्य समस्याएँ और समाधान + +| लक्षण | संभावित कारण | समाधान | +|---------|--------------|-----| +| इंडेक्सिंग कभी समाप्त नहीं होती | रद्दीकरण बहुत कम सेट किया गया | `cancelAfter` मान बढ़ाएँ या लंबी जॉब्स के लिए रद्दीकरण हटाएँ | +| असिंक्रोनस मोड में कोई स्थिति अपडेट नहीं | इवेंट हैंडलर सही तरीके से संलग्न नहीं है | सुनिश्चित करें कि `index.getEvents().StatusChanged.add(...)` को `index.add` से पहले कॉल किया गया है | +| आउट‑ऑफ़‑मेमोरी त्रुटियाँ | बहुत अधिक थ्रेड्स या उच्च मेटाडेटा सीमाएँ | `options.setThreads` को कम करें और मेटाडेटा फ़ील्ड सीमाओं को घटाएँ | +| परिणामों में मेटाडेटा गायब | मेटाडेटा इंडेक्सिंग अक्षम है | `options.getMetadataIndexingOptions()` को कॉन्फ़िगर किया गया है और फ़ील्ड्स को इग्नोर करने के लिए सेट नहीं है, यह सत्यापित करें | + +## अक्सर पूछे जाने वाले प्रश्न + +**प्रश्न: मैं GroupDocs.Search के लिए अस्थायी लाइसेंस कैसे प्राप्त करूँ?** +उत्तर: [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/) पर जाएँ। + +**प्रश्न: क्या मैं इंडेक्सिंग ऑपरेशन को बीच में रद्द कर सकता हूँ?** +उत्तर: हाँ – `cancelAfter()` के साथ रद्दीकरण प्रॉपर्टी का उपयोग करें या प्रोग्रामेटिक रूप से `Cancellation.cancel()` कॉल करें। + +**प्रश्न: असिंक्रोनस इंडेक्सिंग के कुछ उपयोग केस क्या हैं?** +उत्तर: रियल‑टाइम दस्तावेज़ पुनर्प्राप्ति, बैकग्राउंड बैच प्रोसेसिंग, और UI‑प्रतिक्रियाशील एप्लिकेशन असिंक्रोनस इंडेक्सिंग से लाभान्वित होते हैं। + +**प्रश्न: साझा सर्वर पर थ्रेड काउंट बढ़ाना सुरक्षित है?** +उत्तर: धीरे‑धीरे बढ़ाएँ और CPU लोड की निगरानी करें; अत्यधिक साझा वातावरण में थ्रेड काउंट को मध्यम रखें (2‑4)। + +**प्रश्न: मेटाडेटा इंडेक्सिंग खोज प्रासंगिकता को कैसे प्रभावित करती है?** +उत्तर: सही ढंग से इंडेक्स किया गया मेटाडेटा (लेखक, निर्माण तिथि, टैग) क्वेरीज़ में अधिक वज़न प्राप्त कर सकता है, जिससे परिणामों की सटीकता बढ़ती है। + +## निष्कर्ष + +GroupDocs.Search for Java की इन उन्नत सुविधाओं को अपनाकर, आप विभिन्न परिदृश्यों में **search performance को अनुकूलित** करेंगे—तेज़ दस्तावेज़ इनजेशन से लेकर सूक्ष्म मेटाडेटा नियंत्रण तक। विभिन्न कॉन्फ़िगरेशन के साथ प्रयोग करें, संसाधन उपयोग की निगरानी करें, और सर्वोत्तम परिणाम पाने के लिए सेटिंग्स को अपने विशिष्ट कार्यभार के अनुसार अनुकूलित करें। + +--- + +**अंतिम अपडेट:** 2025-12-29 +**परीक्षण किया गया:** GroupDocs.Search 25.4 for Java +**लेखक:** GroupDocs + +--- \ No newline at end of file diff --git a/content/hongkong/java/getting-started/_index.md b/content/hongkong/java/getting-started/_index.md new file mode 100644 index 00000000..794f98a3 --- /dev/null +++ b/content/hongkong/java/getting-started/_index.md @@ -0,0 +1,96 @@ +--- +date: 2025-12-29 +description: 逐步指南:如何為 Java 開發人員配置 GroupDocs.Search,涵蓋安裝、授權及建立您的第一個搜尋解決方案。 +title: 如何設定 GroupDocs.Search - Java 入門教學 +type: docs +url: /zh-hant/java/getting-started/ +weight: 1 +--- + +# 如何設定 GroupDocs.Search - Java 入門教學 + +歡迎閱讀關於 **how to configure GroupDocs.Search** 的終極指南,適用於 Java 應用程式。於本教學中,您將學習安裝函式庫、設定授權以及建立第一個可搜尋的文件解決方案的必要步驟。無論是開啟新專案或將搜尋功能整合至現有程式碼庫,本步驟說明都會提供您快速上手所需的一切。 + +## 快速解答 +- **第一步是什麼?** 安裝 GroupDocs.Search Java 套件,透過 Maven 或 Gradle。 +- **我需要授權嗎?** 是——臨時授權可用於開發;正式授權則必須於生產環境使用。 +- **哪個 IDE 最適合?** 任何支援 Maven/Gradle 專案的 Java IDE(IntelliJ IDEA、Eclipse、VS Code)。 +- **我可以索引 PDF 與 Word 檔案嗎?** 當然可以——GroupDocs.Search 內建支援多種文件格式。 +- **設定需要多長時間?** 通常在 15 分鐘以內即可完成全新專案的設定。 + +## 什麼是 “how to configure GroupDocs.Search”? +設定 GroupDocs.Search 意味著為文件建立索引、定義儲存位置,並套用授權金鑰,使 API 能在無限制的情況下運作。正確的設定可確保快速、精確的搜尋結果,並順利與您的 Java 程式碼整合。 + +## 為什麼要為 Java 設定 GroupDocs.Search? +- **快速實作** – 只需極少程式碼即可開始索引與搜尋。 +- **可擴充的索引** – 處理大量文件集合時不會降低效能。 +- **廣泛的格式支援** – 支援 PDF、DOCX、XLSX、PPTX 以及其他多種檔案類型。 +- **安全授權** – 確保合規並解鎖所有高階功能。 + +## 前置條件 +- Java Development Kit (JDK) 8 或更高版本。 +- Maven 3 或 Gradle 5 用於相依性管理。 +- 取得臨時或正式的 GroupDocs.Search 授權金鑰。 + +## 步驟指南 + +### 步驟 1:將 GroupDocs.Search 加入您的專案 +在 `pom.xml`(Maven)或 `build.gradle`(Gradle)中加入 GroupDocs.Search 相依性,使函式庫可供程式碼使用。 + +### 步驟 2:套用您的授權 +建立 `License` 物件並載入您的臨時或永久授權檔案。此步驟會解鎖完整功能並移除評估限制。 + +### 步驟 3:初始化索引設定 +定義索引檔案在磁碟上的存放位置,並設定您需要的自訂索引選項(例如大小寫敏感度、停用詞等)。 + +### 步驟 4:索引您的文件 +使用 `Indexer` 類別將檔案或資料夾加入索引。GroupDocs.Search 會自動偵測檔案類型並擷取可搜尋的文字。 + +### 步驟 5:執行搜尋查詢 +建立 `SearchOptions` 物件,指定查詢字串,然後執行搜尋。API 會回傳符合條件的文件清單與相關性分數。 + +### 步驟 6:檢視結果 +遍歷搜尋結果,顯示檔案名稱,並可選擇在 UI 中高亮顯示匹配的詞彙。 + +## 常見問題與解決方案 +- **授權未被識別** – 核對授權檔案路徑,並確保其與您使用的 GroupDocs.Search 版本相符。 +- **缺少文件格式支援** – 若需支援較少見的檔案類型,請安裝可選的 `groupdocs-conversion` 外掛。 +- **效能瓶頸** – 使用增量索引,並將索引資料夾配置於 SSD 儲存,以提升存取速度。 + +## 常見問答 + +**Q: 我可以在 Linux 伺服器上使用 GroupDocs.Search 嗎?** +A: 可以,函式庫與平台無關,能在任何支援 Java 的作業系統上執行。 + +**Q: 新增檔案後要如何更新索引?** +A: 再次呼叫 `Indexer` 並傳入新檔案,函式庫會將它們合併至現有索引。 + +**Q: 有辦法將搜尋結果限制在特定資料夾嗎?** +A: 可以,在執行查詢前於 `SearchOptions` 設定資料夾過濾條件。 + +**Q: 若超過臨時授權期限會發生什麼事?** +A: API 會以評估模式繼續運作,但功能受限;請以永久授權檔案取代現有授權,以恢復完整功能。 + +**Q: GroupDocs.Search 支援模糊搜尋嗎?** +A: 當然支援——在 `SearchOptions` 中啟用模糊匹配,即可取得拼寫略有差異的搜尋結果。 + +## 其他資源 + +### 可用教學 + +### [部署 GroupDocs.Search for Java: 完整設定指南](./deploy-groupdocs-search-java-setup-guide/) +了解如何部署與設定 GroupDocs.Search for Java,提升專案的文件索引與搜尋功能。 + +### 有用連結 +- [GroupDocs.Search for Java 文件說明](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API 參考文件](https://reference.groupdocs.com/search/java/) +- [下載 GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search 論壇](https://forum.groupdocs.com/c/search) +- [免費支援](https://forum.groupdocs.com/) +- [臨時授權](https://purchase.groupdocs.com/temporary-license/) + +--- + +**最後更新:** 2025-12-29 +**測試環境:** GroupDocs.Search 23.12 for Java +**作者:** GroupDocs \ No newline at end of file diff --git a/content/hongkong/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/hongkong/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..b6147904 --- /dev/null +++ b/content/hongkong/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,244 @@ +--- +date: '2025-12-29' +description: 學習如何清理 Java 目錄、實現文件管理自動化,以及使用 GroupDocs.Search for Java 重新命名檔案。提升應用程式的效率。 +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: 清理目錄 Java – 自動化索引與重新命名 +type: docs +url: /zh-hant/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# 清理目錄 Java – 使用 GroupDocs.Search 自動化文件索引與重新命名 + +如果您需要在自動化文件索引與重新命名的同時 **clean directory java**,您來對地方了。手動處理檔案搬移、刪除以及索引更新容易出錯且耗時。於本教學中,我們將示範如何讓 Java 承擔繁重工作,使用 **GroupDocs.Search for Java** 建立可搜尋的索引、重新命名檔案,並自動保持索引同步。 + +## 快速解答 +- **What does “clean directory java” mean?** 使用 Java 程式碼刪除目標目錄內的所有檔案/資料夾。 +- **Which library creates the searchable index?** GroupDocs.Search for Java。 +- **How do I rename a document and keep the index updated?** 使用 `File.renameTo()`,然後以 `Notification.createRenameNotification` 通知索引。 +- **Can I copy files after cleaning the folder?** 可以 — Java Streams 可在保留索引的同時複製檔案。 +- **Is a license required for production?** 商業使用需具備有效的 GroupDocs.Search 授權。 + +## 什麼是 “clean directory java”? +在 Java 中清理目錄是指以程式方式移除指定資料夾內的所有檔案與子資料夾。這通常是複製新檔案或重新建構索引之前的前置步驟,以確保過時的資料不會影響搜尋結果。 + +## 為什麼要自動化文件索引與重新命名? +- **Document management automation** 可減少人工操作並消除人為錯誤。 +- **create searchable index** 步驟讓您能即時依內容定位任何文件。 +- 若重新命名檔案卻未更新索引,會導致搜尋精確度下降;自動化可保持一致性。 + +## 前置條件 + +- **GroupDocs.Search for Java**(版本 25.4 或更新) +- JDK 8 以上,及 IntelliJ IDEA 或 Eclipse 等 IDE +- 基本的 Java 知識,特別是檔案 I/O + +## 設定 GroupDocs.Search for Java + +### Maven 依賴 +將以下儲存庫與依賴項加入您的 `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### 直接下載 +或者,從 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下載最新版本。 + +### 授權 +取得免費試用、臨時評估授權,或購買正式授權以供正式環境使用。 + +### 基本初始化 +建立一個 `Index` 實例以保存可搜尋的資料: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## 實作指南 + +### 1. 新增文件至索引(create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*說明*: +- `indexFolder` – 索引檔案的存放位置。 +- `documentFolder` – 包含您欲建立可搜尋檔案的來源資料夾。 + +### 2. 重新命名文件並通知索引 + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*說明*: +- Java 的 `File.renameTo()` 執行實際的重新命名。 +- `Notification.createRenameNotification()` 告訴 GroupDocs.Search 檔名已變更,保持索引正確。 + +## Clean Directory Java – 目錄清理與檔案複製 + +在大量複製前先整理資料夾,可防止重複或孤立檔案。以下提供兩段可重複使用的程式碼片段。 + +### 步驟 1:刪除資料夾內容(delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*說明*: +- `Files.walk()` 會遍歷每個檔案與子資料夾。 +- 以相反順序排序可確保先刪除檔案再刪除其父目錄,從而有效 **delete folder contents**。 + +### 步驟 2:複製檔案(copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*說明*: +- 此串流僅過濾普通檔案,然後將每個檔案複製至目標目錄,必要時覆寫已存在的檔案。 + +## 實務應用 + +- **Enterprise Document Management** – 為數千份合約自動化索引,並保持檔名同步。 +- **Legal Firms** – 快速重新命名案件檔案,同時保留可搜尋內容。 +- **Content Management Systems** – 使用 clean‑directory 模式刷新媒體資料夾,免除手動清理。 + +## 效能考量 + +- **Index Size** – 若索引變大,請定期壓縮索引。 +- **Memory Usage** – 分批處理檔案以避免 `OutOfMemoryError`。 +- **Concurrency** – 大量作業時,可考慮使用 Java 的 `ExecutorService` 來平行化清理與複製。 + +## 常見問題與技巧 + +| Issue | Cause | Fix | +|-------|-------|-----| +| 重新命名失敗 | 檔案被鎖定或路徑無效 | 確保檔案未在其他地方開啟;使用 `Files.move` 進行較可靠的重新命名。 | +| 索引未更新 | 未發送通知 | 務必先呼叫 `index.notifyIndex(notification)`,再呼叫 `index.update()`。 | +| 複製後搜尋結果過時 | 索引仍指向舊檔案 | 重新將目標資料夾加入索引,或在複製後呼叫 `index.update()`。 | + +## 常見問答 + +**Q: 我可以清理包含子資料夾的目錄嗎?** +A: 可以。`Files.walk()` 方法會遞迴刪除所有巢狀的檔案與資料夾。 + +**Q: 每次重新命名後需要重新建構整個索引嗎?** +A: 不需要。只要發送重新命名通知並呼叫 `index.update()` 即可。 + +**Q: 在遇到效能限制前,我能清理多大的資料夾?** +A: 取決於 JVM 記憶體;以較小批次處理或使用串流可協助管理大型資料集。 + +**Q: GroupDocs.Search 可免費用於開發嗎?** +A: 提供免費試用,但正式環境需購買授權。 + +**Q: 我可以將此方法套用於其他檔案類型(例如 PDF、DOCX)嗎?** +A: 當然可以。GroupDocs.Search 支援多種格式,只需將包含這些檔案的資料夾加入索引即可。 + +## 結論 + +您現在擁有一套完整、可投入生產的 **clean directory java** 解決方案,能將文件加入可搜尋的索引、重新命名檔案,並與 GroupDocs.Search 保持同步。將這些模式套用於文件管理工作流程,即可實現更快速、更可靠的搜尋體驗。 + +--- + +**最後更新:** 2025-12-29 +**測試版本:** GroupDocs.Search 25.4 +**作者:** GroupDocs + +--- \ No newline at end of file diff --git a/content/hongkong/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/hongkong/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..8eb041f3 --- /dev/null +++ b/content/hongkong/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,168 @@ +--- +date: '2025-12-29' +description: 學習如何在 Java 中使用 GroupDocs.Search 管理文件密碼、建立可搜尋的索引,並在多個文件中高效搜尋。 +keywords: +- manage document passwords java +- search across multiple documents +title: 使用 GroupDocs.Search 管理文件密碼(Java) +type: docs +url: /zh-hant/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# 使用 GroupDocs.Search 管理文件密碼(Java) + +在現代企業應用程式中,**manage document passwords Java** 是確保敏感檔案安全,同時提供快速可靠搜尋的關鍵步驟。本指南將示範如何使用 GroupDocs.Search 建立與管理索引、將密碼安全地儲存在索引字典中,並輕鬆**search across multiple documents**。無論您是構建文件管理系統,或是為現有的 Java 應用程式加入搜尋功能,下列步驟都能讓您快速上手。 + +## 快速解答 +- **manage document passwords Java 是什麼意思?** 它指的是直接在搜尋索引中存取受保護檔案的密碼,以便儲存與取得。 +- **我可以索引受密碼保護的檔案嗎?** 可以——在索引之前將密碼加入索引字典。 +- **一次可以搜尋多少份文件?** GroupDocs.Search 能在單一查詢中**search across multiple documents**。 +- **正式環境需要授權嗎?** 生產環境必須使用授權;亦提供免費試用供評估。 +- **需要哪個 Java 版本?** JDK 8 或以上。 + +## 什麼是 “manage document passwords Java”? +將文件密碼儲存在搜尋索引內,讓引擎在索引與搜尋時自動開啟受保護檔案,免除每次手動輸入密碼的需求。 + +## 為何在此任務中使用 GroupDocs.Search? +- **內建密碼字典** – 讓密碼與檔案路徑關聯。 +- **高效能索引** – 能快速處理數千個檔案。 +- **豐富查詢語言** – 支援跨多種文件類型的複雜搜尋。 + +## 先決條件 +- 已安裝 **JDK 8+**。 +- 使用 **Maven** 進行相依管理。 +- 具備基本的 Java 知識(檔案處理、類別)。 + +## 設定 GroupDocs.Search(Java) + +將以下儲存庫與相依加入您的 `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +您也可以直接從官方發行頁面下載程式庫:[GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) + +### 初始化索引 + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## 如何管理文件密碼(Java)? + +### 1. 定義索引資料夾並建立索引 +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. 清除現有密碼(如有) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. 為特定文件新增密碼 +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. 取得並移除密碼 +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. 為多個文件新增密碼 +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## 如何以密碼索引文件? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## 如何在多個文件中搜尋? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## 實務應用 +- **Enterprise Document Management** – 安全且可搜尋的檔案庫。 +- **Content Management Platforms** – 快速取得受保護的資產。 +- **Legal Document Repositories** – 在保持機密性的同時提供全文搜尋。 + +## 效能考量 +- **平行索引** – 使用多執行緒處理大批次。 +- **記憶體監控** – 大量匯入時留意 JVM 堆積使用情況。 +- **定期索引維護** – 當檔案變更或密碼更新時重新索引。 + +## 結論 +您現在已了解如何使用 GroupDocs.Search **manage document passwords Java**、建立穩健的索引,並執行強大的**search across multiple documents**。將這些步驟整合至您的應用程式,即可提供安全、快速且具擴充性的搜尋體驗。 + +**下一步** +- 嘗試進階查詢運算子(萬用字元、模糊搜尋)。 +- 探索即時更新的增量索引。 +- 結合其他 GroupDocs 產品以進行 PDF 轉換或註解。 + +## 常見問題 + +**Q: 我可以索引大量文件嗎?** +A: 可以,GroupDocs.Search 設計用於高效處理龐大集合。 + +**Q: 能否將新文件加入已存在的索引?** +A: 當然可以!您可以依需求新增或移除索引中的文件。 + +**Q: 如何確保索引資料的安全性?** +A: 使用文件密碼字典,並將索引存放於受保護的目錄中。 + +**Q: GroupDocs.Search 能處理不同檔案格式嗎?** +A: 能,支援 PDF、Word、Excel 等多種常見格式。 + +**Q: 索引時若遇到效能問題該怎麼辦?** +A: 可考慮啟用平行處理、增大堆積大小,或調整索引設定。 + +--- + +**最後更新:** 2025-12-29 +**測試環境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs + +**資源** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/hongkong/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/hongkong/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..5aaffb3d --- /dev/null +++ b/content/hongkong/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,248 @@ +--- +date: '2025-12-29' +description: 了解如何使用 GroupDocs.Search for Java 索引 Java 文件並建立搜尋索引。本指南涵蓋設定、索引、搜尋以及高效管理文件的方式。 +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: 如何使用 GroupDocs.Search 索引 Java 文件 – 高效搜尋 +type: docs +url: /zh-hant/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# 使用 GroupDocs.Search 索引 Java 文件 – 高效搜尋 + +## 介紹 + +您是否被大量文件淹沒,並想快速了解 **how to index java** 檔案的方式?許多企業與個人每天都面臨此挑戰。**GroupDocs.Search for Java** 提供高效的解決方案,簡化文件搜尋,使過程更快速且更易管理。 + +在本教學中,我們將指導您如何使用 GroupDocs.Search for Java 建立文件的索引儲存庫。您將學會如何從檔案系統載入文件、執行搜尋、管理刪除,以及高效且可擴展地取得索引資料。 + +**您將學到的內容:** +- 設定與配置 GroupDocs.Search for Java。 +- **建立搜尋索引** 並從串流索引文件。 +- 從檔案系統載入文件。 +- 在索引上 **執行關鍵字搜尋**。 +- **如何刪除索引** 中特定文件的條目。 +- 刪除後取得剩餘的索引文件。 + +準備好徹底改變文件搜尋的管理方式了嗎?讓我們先從前置條件開始吧! + +## 快速回答 +- **主要目的為何?** 高效索引與搜尋 Java 文件。 +- **需要哪個函式庫?** GroupDocs.Search for Java(v25.4 以上)。 +- **需要授權嗎?** 提供免費試用或臨時授權;正式環境需購買永久授權。 +- **可以從索引中刪除文件嗎?** 可以,使用 `delete` 方法搭配文件鍵即可。 +- **Apache Commons IO 必須嗎?** 建議使用,以便處理檔案相關工具。 + +## 什麼是 “how to index java”? +索引 Java 文件是指建立一個可搜尋的資料結構(索引),將文件內容對應到可搜尋的詞彙,從而能夠根據關鍵字查詢快速取得相關檔案。 + +## 為何使用 GroupDocs.Search for Java? +- **速度:** 最佳化演算法即使在大型集合上也能快速回傳查詢結果。 +- **可擴展性:** 能處理數千份文件而不影響效能。 +- **彈性:** 支援多種檔案格式,並提供大型檔案的延遲載入。 +- **易於整合:** Maven 設定簡單,API 直觀。 + +## 前置條件 + +在開始之前,請確保您具備以下條件: + +### 必要的函式庫與相依性 +- **GroupDocs.Search for Java**:請確保安裝 25.4 或更新版本。 +- **Apache Commons IO**:用於檔案處理工具。 + +### 環境設定需求 +- Java Development Kit (JDK) 8 以上。 +- IntelliJ IDEA、Eclipse 等整合開發環境 (IDE)。 + +### 知識前提 +- 具備基本的 Java 程式設計與物件導向概念。 +- 熟悉 Maven 相依性管理者佳,但非必須。 + +## 設定 GroupDocs.Search for Java + +使用 Maven 設定專案環境的步驟如下: + +**Maven 設定:** +在 `pom.xml` 中加入以下倉庫與相依性: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**直接下載:** +或是直接從 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下載最新版本。 + +### 取得授權的步驟 +- **免費試用:** 先取得免費試用版以測試功能。 +- **臨時授權:** 申請臨時授權以無限制探索全部功能。 +- **購買授權:** 若符合需求,可考慮購買正式授權。 + +**基本初始化與設定:** + +環境就緒後,使用以下程式碼初始化 GroupDocs.Search: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## 如何使用 GroupDocs.Search 索引 Java 文件 + +### 建立與索引文件 + +**概觀:** 了解如何在指定資料夾建立索引,並從串流加入文件,簡化 **create search index** 的流程。 + +#### 步驟 1:建立索引 +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **參數說明:** 第一個參數為索引儲存的目錄路徑;第二個布林值表示若索引已存在則自動更新。 + +#### 步驟 2:從串流載入並加入文件 +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **說明:** 這裡建立 `DocumentLoader` 讀取檔案並為索引作準備。`createLazy` 方法用於有效處理大型檔案。 + +### 從檔案系統載入文件 + +**概觀:** 實作自訂載入器,直接使用 Apache Commons IO 工具從檔案系統讀取文件。 + +#### 步驟 1:定義 Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **細節:** 此類別將檔案讀取為位元組陣列,並以此建立 `Document` 物件。 + +### 在索引中執行關鍵字搜尋 + +**概觀:** 在已索引的文件上執行搜尋,以快速取得相關資訊。 + +#### 步驟 1:執行搜尋 +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **說明:** 使用 `search` 方法搭配簡單文字查詢,從索引資料中取得結果。此方式適用於 **java document search** 場景。 + +### 如何刪除索引條目 + +**概觀:** 透過文件鍵刪除特定文件,以管理索引內容。 + +#### 步驟 1:刪除文件 +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **參數說明:** 傳入欲從索引中移除的文件鍵陣列。`UpdateOptions` 提供彈性的刪除策略。 + +### 刪除後取得剩餘的索引文件 + +**概觀:** 刪除文件後,取得剩餘索引檔案清單,以確保資料完整性。 + +#### 步驟 1:取得剩餘文件 +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **說明:** 此步驟協助驗證刪除後索引的當前狀態。 + +## 實務應用 + +GroupDocs.Search for Java 多功能且彈性,常見應用包括: + +1. **企業文件管理:** 快速搜尋公司文件,提高工作效率。 +2. **法律文件分析:** 高效篩選案件檔案與法律文本,找出相關判例。 +3. **圖書館目錄系統:** 索引與管理大量書籍與手稿,方便存取。 + +## 效能考量 + +為取得最佳效能,請留意: + +- **索引最佳化:** 定期更新索引以反映最新文件變更。 +- **記憶體管理:** 透過妥善管理資源密集操作,善用 Java 垃圾回收。 +- **可擴展性:** 確保索引策略能處理大量資料而不降低效能。 + +## 常見問題與解決方案 + +| 問題 | 原因 | 解決方案 | +|-------|-------|----------| +| **未返回結果** | 查詢詞未被索引或被停用詞過濾 | 檢查 `IndexingOptions` 並調整停用詞清單 | +| **記憶體不足錯誤** | 未使用延遲載入即載入過大檔案 | 使用 `Document.createLazy` 或增大 JVM 堆積大小 | +| **已刪除的文件仍出現** | 刪除後索引未重新整理 | 呼叫 `index.optimize()` 或重新開啟索引 | + +## 常見問答 + +**Q: 可以同時索引 PDF、DOCX 與 PPTX 嗎?** +A: 可以,GroupDocs.Search 內建支援多種格式。 + +**Q: “how to delete index” 的底層運作原理是什麼?** +A: `delete` 方法根據文件鍵移除條目,並更新內部倒排表以維持索引一致性。 + +**Q: 有辦法監控索引大小嗎?** +A: 使用 `index.getStatistics()` 可取得文件數量與儲存空間資訊。 + +**Q: 每次刪除後都需要重新建構整個索引嗎?** +A: 不需要,`delete` 會增量更新索引,保留其餘資料。 + +**Q: 若需要在變更結構後重新索引所有文件,該怎麼做?** +A: 建立一個不同資料夾路徑的 `Index` 實例,然後重新加入所有文件。 + +## 結論 + +現在,您已掌握 **how to index java** 文件的核心概念,並能使用 GroupDocs.Search for Java 執行快速搜尋。此強大函式庫能徹底改變您管理與檢索大型文件集合的方式,成為任何組織不可或缺的工具。 + +**後續步驟:** +- 嘗試不同文件類型與複雜查詢。 +- 探索進階功能,如分面搜尋、Metadata 索引與自訂分析器。 + +準備好展開您的索引之旅了嗎?立即實作本教學,體驗更快、更精準的文件檢索! + +--- + +**最後更新:** 2025-12-29 +**測試環境:** GroupDocs.Search Java 25.4 +**作者:** GroupDocs \ No newline at end of file diff --git a/content/hongkong/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/hongkong/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..3106d442 --- /dev/null +++ b/content/hongkong/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,275 @@ +--- +date: '2025-12-29' +description: 學習如何利用 GroupDocs.Search for Java 的進階索引功能優化搜尋效能,包括取消、非同步操作、多執行緒及中繼資料自訂。 +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: 使用 GroupDocs.Search for Java 的進階索引技術優化搜尋效能 +type: docs +url: /zh-hant/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# 使用 GroupDocs.Search for Java 的進階索引技術優化搜尋效能 + +在當今節奏快速的數位環境中,**優化搜尋效能**對於向使用者即時提供結果至關重要。無論您是構建自訂搜尋引擎還是增強現有的文件管理系統,正確的索引策略都能顯著降低延遲與資源消耗。在本教學中,我們將逐一說明 GroupDocs.Search for Java 最強大的功能——取消、非同步索引、多執行緒以及中繼資料自訂——讓您能更快速且更有效率地**add documents index**。 + +**您將學習** + +- 如何在指定時間後取消索引作業 +- 執行非同步索引作業並處理狀態變更 +- 設定多執行緒以加速索引 +- 自訂中繼資料索引選項 + +在深入程式碼之前,先確保您已具備所有必需的條件。 + +## 前置條件 + +- **GroupDocs.Search Library** – 版本 25.4 或更新。 +- **Java Development Environment** – 建議使用 JDK 8 或以上。 +- 具備 Java 基礎知識以及索引概念。 + +### 設定 GroupDocs.Search for Java + +#### Maven 安裝 + +將儲存庫與相依性加入您的 `pom.xml` 檔案: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### 直接下載 + +或者,從 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) 下載最新的 JAR。 + +**授權取得** – 可先使用免費試用版,或申請臨時授權以解鎖完整功能。 + +### 基本初始化與設定 + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## 快速問答 + +- **取消功能的作用是什麼?** 在設定的時間後停止索引,以釋放資源。 +- **我可以非同步索引文件嗎?** 可以 – 設定 `options.setAsync(true)`。 +- **可以使用多少執行緒?** 任意正整數;大多數伺服器的典型值為 2‑4。 +- **中繼資料索引是可選的嗎?** 當然可以 – 您可以依欄位啟用或微調。 +- **使用這些功能需要授權嗎?** 試用版可用於測試;正式環境需購買完整授權。 + +## 在此情境下「優化搜尋效能」是什麼意思? + +優化搜尋效能是指設定索引過程,使其在消耗適當的 CPU、記憶體與時間的同時,即時提供最相關的結果。透過控制取消、非同步執行、執行緒與中繼資料處理,您可以直接影響引擎多快能夠**add documents index** 並回應查詢。 + +## 為何使用進階索引功能? + +- **降低延遲** – 非同步與多執行緒索引讓您的應用程式保持回應。 +- **更佳資源管理** – 取消功能可防止程式失控執行。 +- **客製化搜尋相關性** – 中繼資料選項讓您突顯最重要的資訊。 + +## 實作指南 + +### 取消屬性 + +**概觀** – 在指定的時間後取消索引,以避免過度消耗資源。 + +#### 步驟 1:設定環境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步驟 2:建立具取消功能的索引選項 + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**重點說明** + +- `setCancellation()` 會啟用此功能。 +- `cancelAfter(int milliseconds)` 定義逾時時間(本例為 3 秒)。 + +### 非同步屬性 + +**概觀** – 在背景執行緒上執行索引,並監聽狀態變更。 + +#### 步驟 1:設定環境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步驟 2:訂閱狀態變更事件 + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### 步驟 3:設定非同步選項 + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### 執行緒屬性 + +**概觀** – 利用多個 CPU 核心加速索引。 + +#### 步驟 1:設定環境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步驟 2:設定多執行緒 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### 中繼資料索引選項屬性 + +**概觀** – 微調哪些文件中繼資料會被索引以及其儲存方式。 + +#### 步驟 1:設定環境 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 步驟 2:設定中繼資料選項 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## 實務應用 + +1. **文件管理系統** – 使用非同步索引,使 UI 在大量批次於背景處理時仍保持回應。 +2. **內容搜尋引擎** – 套用取消功能,以防止長時間執行的工作在高峰期間佔用伺服器資源。 +3. **大規模匯入管線** – 利用多執行緒以規模化 **add documents index**,大幅縮短處理時間。 + +## 效能考量 + +- **執行緒管理** – 監控 CPU 使用率;過多執行緒可能導致上下文切換開銷。 +- **記憶體占用** – 中繼資料限制(例如 `setMaxBytesToIndexField`)有助於保持記憶體使用可預測。 +- **垃圾回收** – 在索引大量語料庫時使用適當的 JVM 參數(`-Xmx`、`-XX:+UseG1GC`)。 + +## 常見問題與解決方案 + +| 症狀 | 可能原因 | 解決方案 | +|---------|--------------|-----| +| 索引永遠不會完成 | 取消時間設定過低 | 增加 `cancelAfter` 值或對長時間作業移除取消功能 | +| 非同步模式下沒有狀態更新 | 事件處理器未正確掛載 | 確保在呼叫 `index.add` 前先執行 `index.getEvents().StatusChanged.add(...)` | +| 記憶體不足錯誤 | 執行緒過多或中繼資料限制過高 | 減少 `options.setThreads` 並降低中繼資料欄位限制 | +| 結果中缺少中繼資料 | 中繼資料索引被停用 | 檢查 `options.getMetadataIndexingOptions()` 已正確設定且未設定為忽略欄位 | + +## 常見問答 + +**Q: 我該如何取得 GroupDocs.Search 的臨時授權?** +A: 前往 [GroupDocs 的臨時授權頁面](https://purchase.groupdocs.com/temporary-license/)。 + +**Q: 我可以在索引作業進行中途取消嗎?** +A: 可以 – 使用 `cancelAfter()` 的取消屬性,或以程式方式呼叫 `Cancellation.cancel()`。 + +**Q: 非同步索引有哪些使用案例?** +A: 即時文件檢索、背景批次處理以及需要 UI 保持回應的應用程式,都能從非同步索引中受益。 + +**Q: 在共享伺服器上提升執行緒數量是否安全?** +A: 請逐步增加並監控 CPU 負載;在高度共享的環境中,建議將執行緒數量保持在適度範圍(2‑4)。 + +**Q: 中繼資料索引如何影響搜尋相關性?** +A: 正確索引的中繼資料(作者、建立日期、標籤)可在查詢中賦予更高權重,提升結果的準確度。 + +## 結論 + +透過善用 GroupDocs.Search for Java 的這些進階功能,您將在各種情境下**優化搜尋效能**——從快速文件匯入到精細的中繼資料控制。請嘗試不同的設定、監控資源使用,並依據您的工作負載調整參數,以獲得最佳效果。 + +--- + +**最後更新:** 2025-12-29 +**測試環境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs \ No newline at end of file diff --git a/content/hungarian/java/getting-started/_index.md b/content/hungarian/java/getting-started/_index.md new file mode 100644 index 00000000..70d62db9 --- /dev/null +++ b/content/hungarian/java/getting-started/_index.md @@ -0,0 +1,100 @@ +--- +date: 2025-12-29 +description: Lépésről-lépésre útmutató arról, hogyan konfiguráljuk a GroupDocs.Search-t + Java fejlesztők számára, beleértve a telepítést, a licencelést és az első keresési + megoldás létrehozását. +title: 'Hogyan konfiguráljuk a GroupDocs.Search - Kezdő útmutatók Java‑hoz' +type: docs +url: /hu/java/getting-started/ +weight: 1 +--- + +# Hogyan konfiguráljuk a GroupDocs.Search - Kezdő útmutatók Java-hoz + +Üdvözöljük a **GroupDocs.Search konfigurálásának** Java alkalmazásokhoz készült átfogó útmutatójában. Ebben a tutorialban megtanulja a könyvtár telepítésének, a licenc beállításának és az első kereshető dokumentummegoldás felépítésének alapvető lépéseit. Akár új projektet indít, akár keresést szeretne integrálni egy meglévő kódbázisba, ez a bemutató mindent biztosít, amire gyorsan elinduláshoz szüksége van. + +## Gyors válaszok +- **Mi az első lépés?** Telepítse a GroupDocs.Search Java csomagot Maven vagy Gradle segítségével. +- **Szükségem van licencre?** Igen – egy ideiglenes licenc fejlesztéshez elegendő; a teljes licenc a termeléshez kötelező. +- **Melyik IDE a legjobb?** Bármely Java IDE (IntelliJ IDEA, Eclipse, VS Code), amely támogatja a Maven/Gradle projekteket. +- **Indexelhetek PDF és Word fájlokat?** Természetesen – a GroupDocs.Search alapból széles körű dokumentumformátumot támogat. +- **Mennyi időt vesz igénybe a beállítás?** Általában 15 perc alatt elkészül egy új projekt. + +## Mi az a „hogyan konfiguráljuk a GroupDocs.Search-t”? +A GroupDocs.Search konfigurálása azt jelenti, hogy előkészítjük a könyvtárat a dokumentumok indexelésére, meghatározzuk a tárolási helyeket, és alkalmazzuk a licenckulcsot, hogy az API korlátozások nélkül működjön. A megfelelő konfiguráció gyors, pontos keresési eredményeket és zökkenőmentes integrációt biztosít a Java kóddal. + +## Miért konfiguráljuk a GroupDocs.Search-t Java-hoz? +- **Gyors megvalósítás** – Minimális kóddal kezdhető el az indexelés és keresés. +- **Skálázható indexelés** – Nagy dokumentumgyűjtemények kezelése teljesítménycsökkenés nélkül. +- **Széles körű formátumtámogatás** – PDF, DOCX, XLSX, PPTX és számos egyéb fájltípus támogatott. +- **Biztonságos licenc** – Biztosítja a megfelelőséget és feloldja az összes prémium funkciót. + +## Előfeltételek +- Java Development Kit (JDK) 8 vagy újabb. +- Maven 3 vagy Gradle 5 a függőségkezeléshez. +- Ideiglenes vagy teljes GroupDocs.Search licenckulcs elérése. + +## Lépés‑ről‑lépésre útmutató + +### 1. lépés: Add hozzá a GroupDocs.Search-t a projektedhez +Tegye a GroupDocs.Search függőséget a `pom.xml`‑be (Maven) vagy a `build.gradle`‑be (Gradle). Ez elérhetővé teszi a könyvtárat a kódban. + +### 2. lépés: Alkalmazza a licencet +Hozzon létre egy `License` objektumot, és töltse be az ideiglenes vagy állandó licencfájlt. Ez a lépés feloldja a teljes funkcionalitást és eltávolítja a kiértékelési korlátokat. + +### 3. lépés: Inicializálja az index beállításait +Határozza meg, hogy az indexfájlok hol legyenek tárolva a lemezen, és konfigurálja a szükséges egyedi indexelési opciókat (például kis‑ és nagybetű érzékenység, stop‑szavak). + +### 4. lépés: Indexelje a dokumentumokat +Használja az `Indexer` osztályt a fájlok vagy mappák indexbe való felvételéhez. A GroupDocs.Search automatikusan felismeri a fájltípusokat és kinyeri a kereshető szöveget. + +### 5. lépés: Hajtsa végre a keresési lekérdezést +Hozzon létre egy `SearchOptions` objektumot, adja meg a lekérdezési szöveget, és hajtsa végre a keresést. Az API egy listát ad vissza a megfelelő dokumentumokról relevancia‑pontszámokkal. + +### 6. lépés: Tekintse át az eredményeket +Iteráljon a keresési eredményeken, jelenítse meg a fájlneveket, és opcionálisan emelje ki a találati kifejezéseket a felhasználói felületen. + +## Gyakori problémák és megoldások +- **A licenc nem ismerhető fel** – Ellenőrizze a licencfájl útvonalát, és győződjön meg róla, hogy a használt GroupDocs.Search verzióval egyezik. +- **Hiányzó dokumentumformátumok** – Telepítse a opcionális `groupdocs-conversion` kiegészítőt, ha kevésbé gyakori fájltípusokra van szükség. +- **Teljesítménybottleneckek** – Használjon inkrementális indexelést, és állítsa be az index mappát SSD tárolóra a gyorsabb hozzáférés érdekében. + +## Gyakran ismételt kérdések + +**K: Használhatom a GroupDocs.Search‑t Linux szerveren?** +V: Igen, a könyvtár platform‑független, és bármely, Java‑t támogató operációs rendszeren fut. + +**K: Hogyan frissíthetem az indexet új fájlok hozzáadása után?** +V: Hívja meg újra az `Indexer`‑t az új fájlokkal; a könyvtár egyesíti őket a meglévő indexbe. + +**K: Van mód a keresési eredmények egy adott mappára korlátozására?** +V: Igen, állítsa be a `SearchOptions`‑ban a mappaszűrőt a lekérdezés végrehajtása előtt. + +**K: Mi történik, ha túllépem az ideiglenes licenc időtartamát?** +V: Az API továbbra is kiértékelési módban működik korlátozott funkciókkal; cserélje le a licencfájlt állandó kulcsra a teljes funkcionalitás visszaállításához. + +**K: Támogatja a GroupDocs.Search a fuzzy keresést?** +V: Teljes mértékben – engedélyezze a fuzzy egyezést a `SearchOptions`‑ban, hogy a kisebb helyesírási eltérésekkel is találatokat kapjon. + +## További források + +### Elérhető tutorialok + +### [GroupDocs.Search telepítése Java‑hoz: Átfogó beállítási útmutató](./deploy-groupdocs-search-java-setup-guide/) +Ismerje meg, hogyan telepítheti és konfigurálhatja a GroupDocs.Search‑t Java‑hoz lépésről‑lépésre. Bővítse a dokumentumindexelés és keresés képességeit projektjeiben. + +### Hasznos hivatkozások +- [GroupDocs.Search for Java dokumentáció](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API referencia](https://reference.groupdocs.com/search/java/) +- [GroupDocs.Search letöltése Java‑hoz](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search fórum](https://forum.groupdocs.com/c/search) +- [Ingyenes támogatás](https://forum.groupdocs.com/) +- [Ideiglenes licenc](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Utoljára frissítve:** 2025-12-29 +**Tesztelt verzió:** GroupDocs.Search 23.12 for Java +**Szerző:** GroupDocs + +--- \ No newline at end of file diff --git a/content/hungarian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/hungarian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..0584bff7 --- /dev/null +++ b/content/hungarian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,241 @@ +--- +date: '2025-12-29' +description: Tanulja meg, hogyan tisztítsa meg a könyvtárat Java-ban, automatizálja + a dokumentumkezelést, és nevezze át a fájlokat a GroupDocs.Search for Java segítségével. + Növelje alkalmazásai hatékonyságát. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Tiszta könyvtár Java – Indexelés és átnevezés automatizálása +type: docs +url: /hu/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Dokumentumindexelés és átnevezés automatizálása a GroupDocs.Search segítségével + +Ha **clean directory java** műveletet szeretne végrehajtani a dokumentumindexelés és átnevezés automatizálása közben, jó helyen jár. A fájlok mozgatásának, törlésének és az index frissítésének kézi kezelése hibára hajlamos és időigényes. Ebben az útmutatóban megmutatjuk, hogyan bízhatja a Java-ra a nehéz feladatot, a **GroupDocs.Search for Java** segítségével kereshető indexet létrehozni, fájlokat átnevezni, és az indexet automatikusan szinkronban tartani. + +## Gyors válaszok +- **Mit jelent a “clean directory java”?** A célkönyvtárban lévő összes fájl/mappa törlése Java kóddal. +- **Melyik könyvtár hozza létre a kereshető indexet?** A GroupDocs.Search for Java. +- **Hogyan nevezhetek át egy dokumentumot és tarthatom naprakészen az indexet?** Használja a `File.renameTo()`-t, majd értesítse az indexet a `Notification.createRenameNotification`-nal. +- **Másolhatok fájlokat a mappa tisztítása után?** Igen – a Java Streams képes fájlokat másolni, miközben megőrzi az indexet. +- **Szükséges licenc a termeléshez?** Érvényes GroupDocs.Search licenc szükséges kereskedelmi használathoz. + +## Mi az a “clean directory java”? +A könyvtár tisztítása Java-ban azt jelenti, hogy programozottan eltávolít minden fájlt és alkönyvtárat egy megadott mappában. Ez gyakran előfeltétel a friss fájlok másolása vagy az index újraépítése előtt, biztosítva, hogy a régi adatok ne zavarják a keresési eredményeket. + +## Miért automatizáljuk a dokumentumindexelést és átnevezést? +- **Dokumentumkezelés automatizálása** csökkenti a kézi munkát és kiküszöböli az emberi hibákat. +- A **kereshető index létrehozása** lépés lehetővé teszi, hogy azonnal megtalálja a dokumentumot a tartalma alapján. +- A fájlok átnevezése az index frissítése nélkül pontatlanná tenné a keresést; az automatizálás mindenhol konzisztenciát biztosít. + +## Előkövetelmények +- **GroupDocs.Search for Java** (Version 25.4 vagy újabb) +- JDK 8 + és egy IDE, például IntelliJ IDEA vagy Eclipse +- Alapvető Java ismeretek, különösen a fájl I/O + +## A GroupDocs.Search for Java beállítása + +### Maven függőség +Adja hozzá a tárolót és a függőséget a `pom.xml`-hez: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Közvetlen letöltés +Alternatívaként töltse le a legújabb verziót a [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) oldalról. + +### Licenc +Szerezzen be egy ingyenes próbaidőszakot, egy ideiglenes értékelő licencet, vagy vásároljon teljes licencet a termelési használathoz. + +### Alap inicializálás +Hozzon létre egy `Index` példányt, amely a kereshető adatokat tárolja: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementációs útmutató + +### 1. Dokumentumok hozzáadása az indexhez (kereshető index létrehozása) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Magyarázat*: +- `indexFolder` – ahol az index fájlok tárolódnak. +- `documentFolder` – a forrásmappa, amely a kereshetővé tenni kívánt fájlokat tartalmazza. + +### 2. Dokumentum átnevezése és az index értesítése + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Magyarázat*: +- A Java `File.renameTo()` végrehajtja a fizikai átnevezést. +- A `Notification.createRenameNotification()` jelzi a GroupDocs.Search-nek, hogy a fájl neve megváltozott, így az index pontos marad. + +## Clean Directory Java – Könyvtár tisztítása és fájlok másolása + +Egy mappa rendezett állapotban tartása tömeges másolás előtt megakadályozza a duplikált vagy elárvult fájlokat. Az alábbiakban két újrahasználható kódrészlet található. + +### 1. lépés: Mappa tartalmának törlése (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Magyarázat*: +- A `Files.walk()` bejár minden fájlt és alkönyvtárat. +- A fordított sorrendben történő rendezés biztosítja, hogy a fájlok a szülőkönyvtárak előtt legyenek törölve, hatékonyan **delete folder contents**. + +### 2. lépés: Fájlok másolása (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Magyarázat*: +- A stream csak a szabályos fájlokat szűri, majd mindegyiket a célkönyvtárba másolja, szükség esetén felülírva a meglévő fájlokat. + +## Gyakorlati alkalmazások +- **Vállalati dokumentumkezelés** – Automatizálja a több ezer szerződés indexelését és tartsa szinkronban a fájlneveket. +- **Jogász irodák** – Gyorsan nevezze át az ügyiratokat, miközben megőrzi a kereshető tartalmat. +- **Tartalomkezelő rendszerek** – Használja a clean‑directory mintát a média mappák frissítéséhez manuális takarítás nélkül. + +## Teljesítménybeli megfontolások +- **Index mérete** – Időnként tömörítse az indexet, ha nagyra nő. +- **Memóriahasználat** – Fájlokat kötegben dolgozzon fel, hogy elkerülje a `OutOfMemoryError`-t. +- **Párhuzamosság** – Tömeges műveletekhez fontolja meg a Java `ExecutorService` használatát a tisztítás és másolás párhuzamosításához. + +## Gyakori problémák és tippek + +| Probléma | Ok | Javítás | +|----------|----|---------| +| Az átnevezés sikertelen | A fájl zárolva van vagy az útvonal érvénytelen | Győződjön meg róla, hogy a fájl nincs máshol megnyitva; használja a `Files.move`-t a megbízhatóbb átnevezéshez. | +| Az index nem frissül | Az értesítés nem lett elküldve | Mindig hívja meg a `index.notifyIndex(notification)`-t, majd az `index.update()`-t. | +| Elavult keresési eredmények másolás után | Az index még mindig a régi fájlokra mutat | Adja hozzá újra a célkönyvtárat az indexhez, vagy hívja meg a `index.update()`-t másolás után. | + +## Gyakran ismételt kérdések + +**Q: Tisztíthatok-e olyan könyvtárat, amely almappákat tartalmaz?** +A: Igen. A `Files.walk()` megközelítés rekurzívan törli az összes beágyazott fájlt és mappát. + +**Q: Újra kell építeni az egész indexet minden egyes átnevezés után?** +A: Nem. Egy átnevezési értesítés küldése és az `index.update()` meghívása elegendő. + +**Q: Milyen nagy könyvtárat tisztíthatok meg, mielőtt a teljesítménykorlátokba ütköznék?** +A: A JVM memória függvénye; kisebb kötegekben történő feldolgozás vagy a stream-ek használata segít a nagy adathalmazok kezelésében. + +**Q: A GroupDocs.Search ingyenes fejlesztéshez?** +A: Elérhető egy ingyenes próbaidőszak, de a termelési használathoz fizetős licenc szükséges. + +**Q: Alkalmazható ez a megközelítés más fájltípusokra (pl. PDF, DOCX)?** +A: Természetesen. A GroupDocs.Search sok formátumot támogat; csak adja hozzá a megfelelő fájlokat tartalmazó mappát az indexhez. + +## Következtetés + +Most már rendelkezik egy teljes, termelésre kész megoldással a **clean directory java** feladathoz, amely dokumentumokat ad hozzá egy kereshető indexhez, átnevezi a fájlokat, és mindent szinkronban tart a GroupDocs.Search-szel. Alkalmazza ezeket a mintákat a dokumentumkezelési folyamat automatizálásához, és élvezze a gyorsabb, megbízhatóbb keresési élményt. + +--- + +**Utolsó frissítés:** 2025-12-29 +**Tesztelt verzió:** GroupDocs.Search 25.4 +**Szerző:** GroupDocs \ No newline at end of file diff --git a/content/hungarian/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/hungarian/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..8e762a8e --- /dev/null +++ b/content/hungarian/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Tanulja meg, hogyan kezelje a dokumentumjelszavakat Java-ban a GroupDocs.Search + segítségével, hozza létre a kereshető indexeket, és hatékonyan keressen több dokumentumban. +keywords: +- manage document passwords java +- search across multiple documents +title: Dokumentumjelszavak kezelése Java-ban a GroupDocs.Search használatával +type: docs +url: /hu/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Manage Document Passwords Java using GroupDocs.Search + +A modern vállalati alkalmazásokban a **manage document passwords Java** kulcsfontosságú lépés a bizalmas fájlok védelméhez, miközben a gyors, megbízható keresés továbbra is elérhető. Ebben az útmutatóban bemutatjuk, hogyan hozhatunk létre és kezelhetünk indexeket a GroupDocs.Search segítségével, hogyan tárolhatjuk a jelszavakat biztonságosan az index szótárában, majd hogyan **search across multiple documents** könnyedén. Akár dokumentumkezelő rendszert épít, akár keresést ad egy meglévő Java alkalmazáshoz, az alábbi lépések gyorsan elindítják Önt. + +## Quick Answers +- **What does “manage document passwords Java” mean?** Ez a védett fájlok jelszavainak tárolását és visszakeresését jelenti közvetlenül a keresőindexben. +- **Can I index password‑protected files?** Igen — a jelszavakat az index szótárába kell felvenni az indexelés előtt. +- **How many documents can I search at once?** A GroupDocs.Search **search across multiple documents** egyetlen lekérdezésben. +- **Do I need a license for production?** Licenc szükséges a termelési környezethez; ingyenes próba elérhető értékeléshez. +- **What Java version is required?** JDK 8 vagy újabb. + +## What is “manage document passwords Java”? +A dokumentumjelszavak a keresőindexben való tárolása lehetővé teszi, hogy a motor automatikusan megnyissa a védett fájlokat az indexelés és keresés során, ezzel kiküszöbölve a manuális jelszóbevitel szükségességét minden alkalommal. + +## Why use GroupDocs.Search for this task? +- **Built‑in password dictionary** – a jelszavak a fájl útvonalakhoz vannak kötve. +- **High‑performance indexing** – gyorsan kezeli a több ezer fájlt. +- **Rich query language** – összetett kereséseket támogat számos dokumentumtípuson. + +## Prerequisites +- **JDK 8+** telepítve. +- **Maven** a függőségkezeléshez. +- Alapvető Java ismeretek (fájlkezelés, osztályok). + +## Setting Up GroupDocs.Search for Java + +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +You can also download the library directly from the official release page: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Initialize the Index + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – biztonságos, kereshető archívumok. +- **Content Management Platforms** – gyors visszakeresés a védett tartalmakból. +- **Legal Document Repositories** – titoktartás fenntartása miközben a teljes szöveges keresés engedélyezett. + +## Performance Considerations +- **Parallel Indexing** – több szál használata nagy kötegelt feldolgozásnál. +- **Memory Monitoring** – figyelje a JVM heap méretét a nagyméretű importok során. +- **Regular Index Maintenance** – újraindexelés, ha a fájlok változnak vagy a jelszavak frissülnek. + +## Conclusion +Most már tudja, hogyan **manage document passwords Java** a GroupDocs.Search segítségével, hogyan hozhat létre robusztus indexeket, és hogyan végezhet hatékony **search across multiple documents**. Ha ezeket a lépéseket beépíti alkalmazásába, biztonságos, gyors és skálázható keresési élményt nyújt. + +**Next Steps** +- Próbálja ki a fejlett lekérdezési operátorokat (helyettesítő karakterek, fuzzy search). +- Fedezze fel az inkrementális indexelést a valós‑idő frissítésekhez. +- Kombinálja más GroupDocs termékekkel PDF konvertáláshoz vagy annotációhoz. + +## Frequently Asked Questions + +**Q: Can I index large volumes of documents?** +A: Igen, a GroupDocs.Search úgy van tervezve, hogy hatékonyan kezelje a nagy gyűjteményeket. + +**Q: Is it possible to update an existing index with new documents?** +A: Természetesen! Új dokumentumokat adhat hozzá vagy távolíthat el az indexből igény szerint. + +**Q: How do I ensure the security of my indexed data?** +A: Használja a document‑password dictionary-t, és tárolja az indexet egy védett könyvtárban. + +**Q: Can GroupDocs.Search handle different file formats?** +A: Igen, támogatja a PDF‑eket, Word fájlokat, Excel táblákat és számos más gyakori formátumot. + +**Q: What if I encounter performance issues during indexing?** +A: Fontolja meg a párhuzamos feldolgozás engedélyezését, a heap méret növelését vagy az indexbeállítások finomhangolását. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/hungarian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/hungarian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..f1668c39 --- /dev/null +++ b/content/hungarian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,252 @@ +--- +date: '2025-12-29' +description: Tanulja meg, hogyan indexelhet Java dokumentumokat és hozhat létre keresőindexet + a GroupDocs.Search for Java segítségével. Ez az útmutató lefedi a beállítást, az + indexelést, a keresést és a dokumentumok hatékony kezelését. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Hogyan indexeljük a Java dokumentumokat a GroupDocs.Search segítségével – Hatékony + keresés +type: docs +url: /hu/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Hogyan indexeljük a Java dokumentumokat a GroupDocs.Search segítségével – Hatékony keresés + +## Bevezetés + +Elárasztanak a hatalmas mennyiségű dokumentumok, és azon tűnődsz, hogy **how to index java** fájlokat hogyan lehet gyorsan indexelni? Sok vállalkozás és egyéni felhasználó naponta ezzel a kihívással szembesül. **GroupDocs.Search for Java** hatékony megoldást kínál a dokumentumkeresések egyszerűsítésére, így a folyamat gyorsabb és könnyebben kezelhető. + +Ebben az útmutatóban végigvezetünk a GroupDocs.Search for Java használatán, hogy indexelt adattárat hozz létre a dokumentumaidból. Megtanulod, hogyan tölts be dokumentumokat a fájlrendszerből, hajts végre kereséseket, kezeld a törléseket, és hogyan szerezd vissza az indexelt adatokat hatékonyan és skálázhatóan. + +**Mit fogsz megtanulni:** +- A GroupDocs.Search for Java beállítása és konfigurálása. +- **Keresési index létrehozása** és dokumentumok indexelése adatfolyamokból. +- Dokumentumok betöltése a fájlrendszerből. +- **Kulcsszavas keresés végrehajtása** az indexen. +- **Hogyan töröljük az indexet** adott dokumentumokhoz. +- Indexelt dokumentumok visszakeresése törlések után. + +Készen állsz forradalmasítani a dokumentumkeresés kezelését? Kezdjük a követelményekkel! + +## Gyors válaszok +- **Mi a fő cél?** Java dokumentumok hatékony indexelése és keresése. +- **Melyik könyvtár szükséges?** GroupDocs.Search for Java (v25.4+). +- **Szükségem van licencre?** Elérhető ingyenes próba vagy ideiglenes licenc; a termeléshez állandó licenc szükséges. +- **Törölhetek dokumentumokat az indexből?** Igen, a `delete` metódus használatával dokumentumkulcsokkal. +- **Kötelező-e az Apache Commons IO?** Ajánlott a fájlkezelő segédeszközökhez. + +## Mi az a “how to index java”? + +A Java dokumentumok indexelése azt jelenti, hogy kereshető adatstruktúrát (indexet) hozunk létre, amely a dokumentum tartalmát kereshető kifejezésekhez rendeli, lehetővé téve a releváns fájlok gyors visszakeresését kulcsszavas lekérdezések alapján. + +## Miért használjuk a GroupDocs.Search for Java‑t? +- **Sebesség:** Optimalizált algoritmusok gyors lekérdezési eredményeket biztosítanak még nagy gyűjtemények esetén is. +- **Skálázhatóság:** Több ezer dokumentumot kezel teljesítményromlás nélkül. +- **Rugalmasság:** Számos fájlformátumot támogat, és lazy loadingot kínál nagy fájlokhoz. +- **Könnyű integráció:** Egyszerű Maven beállítás és egyértelmű API. + +## Előfeltételek + +Mielőtt elkezdenénk, győződj meg róla, hogy a következőkkel rendelkezel: + +### Szükséges könyvtárak és függőségek +- **GroupDocs.Search for Java**: Győződj meg róla, hogy a 25.4 vagy újabb verzió telepítve van. +- **Apache Commons IO**: Szükséges a fájlkezelő segédeszközökhöz. + +### Környezet beállítási követelmények +- Java Development Kit (JDK) 8 vagy újabb. +- Integrált fejlesztőkörnyezet (IDE), például IntelliJ IDEA vagy Eclipse. + +### Tudás előfeltételek +- Alapvető Java programozási és objektum‑orientált koncepciók ismerete. +- A Maven függőségkezeléssel való ismeret előnyös, de nem kötelező. + +## A GroupDocs.Search for Java beállítása + +A GroupDocs.Search‑szal való projektkörnyezet beállítása a következő Maven‑lépéseket igényli: + +**Maven konfiguráció:** +Add hozzá a következő tárolót és függőséget a `pom.xml` fájlodhoz: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Közvetlen letöltés:** +Alternatívaként töltsd le a legújabb verziót közvetlenül a [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) oldalról. + +### Licenc beszerzési lépések +- **Ingyenes próba:** Kezd egy ingyenes próbával, hogy teszteld a képességeit. +- **Ideiglenes licenc:** Kérj ideiglenes licencet, hogy korlátozás nélkül felfedezd az összes funkciót. +- **Vásárlás:** Fontold meg a vásárlást, ha megfelel az igényeidnek. + +**Alapvető inicializálás és beállítás:** + +Miután a környezet készen áll, inicializáld a GroupDocs.Search‑t a következő módon: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Hogyan indexeljük a Java dokumentumokat a GroupDocs.Search‑szel + +### Dokumentumok létrehozása és indexelése + +**Áttekintés:** Tanuld meg, hogyan hozz létre egy indexet egy megadott mappában, és hogyan adj hozzá dokumentumokat adatfolyamokból, egyszerűsítve a **create search index** folyamatot. + +#### 1. lépés: Index létrehozása +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Paraméterek:** Az első paraméter az indexek tárolásához használt könyvtár útvonala. A második logikai érték automatikus frissítést tesz lehetővé, ha az index már létezik. + +#### 2. lépés: Dokumentumok betöltése és hozzáadása adatfolyamból +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Magyarázat:** Itt hozol létre egy `DocumentLoader`‑t a fájl beolvasásához és az indexelésre való előkészítéshez. A `createLazy` metódust nagy fájlok hatékony kezelésére használjuk. + +### Dokumentumok betöltése a fájlrendszerből + +**Áttekintés:** Implementálj egy egyedi betöltőt, amely közvetlenül a fájlrendszeredből olvas dokumentumokat az Apache Commons IO segédeszközeivel. + +#### 1. lépés: Dokumentumbetöltő definiálása +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Részletek:** Ez az osztály beolvassa a fájlt egy byte tömbbe, és ebből hoz létre egy `Document` objektumot. + +### Kulcsszavas keresés végrehajtása egy indexben + +**Áttekintés:** Hajts végre keresési műveleteket az indexelt dokumentumaidon, hogy gyorsan visszanyerj releváns információkat. + +#### 1. lépés: Keresés végrehajtása +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Magyarázat:** Használd a `search` metódust egyszerű szöveges lekérdezéssel, hogy eredményeket kapj az indexelt adataidból. Ez a megközelítés hatékony a **java document search** helyzetekben. + +### Hogyan töröljük az index bejegyzéseit + +**Áttekintés:** Kezeld az indexet úgy, hogy a kulcsaik alapján törlöd a specifikus dokumentumokat. + +#### 1. lépés: Dokumentum törlése +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Paraméterek:** Add meg a dokumentumkulcsok tömbjét, amelyeket el szeretnél távolítani az indexből. Az `UpdateOptions` rugalmas törlési stratégiákat tesz lehetővé. + +### Indexelt dokumentumok visszakeresése törlés után + +**Áttekintés:** Törlések után kérj le egy listát a megmaradt indexelt fájlokról, hogy biztosítsd az adat integritását. + +#### 1. lépés: Megmaradt dokumentumok lekérése +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Magyarázat:** Ez a lépés segít ellenőrizni az index aktuális állapotát bármilyen törlés után. + +## Gyakorlati alkalmazások + +A GroupDocs.Search for Java sokoldalú, számos felhasználási esetet kínál, például: + +1. **Vállalati dokumentumkezelés:** Gyorsan kereshetsz a vállalati dokumentumok között a termelékenység növelése érdekében. +2. **Jogi dokumentumelemzés:** Hatékonyan átvizsgálhatod az ügyiratokat és jogi szövegeket, hogy megtaláld a releváns precedenseket. +3. **Könyvtári katalógus rendszerek:** Indexeld és kezeld a nagy könyv- és kéziratgyűjteményeket a könnyebb hozzáférés érdekében. + +## Teljesítménybeli megfontolások + +Az optimális teljesítmény érdekében: + +- **Index optimalizálás:** Rendszeresen frissítsd az indexet, hogy tükrözze a dokumentumok legújabb változásait. +- **Memóriakezelés:** Használd hatékonyan a Java szemétgyűjtőjét, ha erőforrás‑igényes műveleteket kezelsz. +- **Skálázhatóság:** Győződj meg róla, hogy az indexelési stratégiád nagy adatvolumeneket is kezel teljesítményromlás nélkül. + +## Gyakori problémák és megoldások + +| Probléma | Ok | Megoldás | +|----------|----|----------| +| **Nincs eredmény** | A lekérdezési kifejezések nincsenek indexelve vagy a stop‑szavak szűrve vannak | Ellenőrizd az `IndexingOptions`‑t és módosítsd a stop‑szavak listáját | +| **Memóriahiány hibák** | Nagyon nagy fájlok betöltése lazy loading nélkül | Használd a `Document.createLazy`‑t vagy növeld a JVM heap méretét | +| **Törölt dokumentumok még mindig megjelennek** | Az index nem frissült a törlés után | Hívd meg az `index.optimize()`‑t vagy nyisd újra az indexet | + +## Gyakran feltett kérdések + +**K: Indexelhetek PDF‑eket, DOCX‑et és PPTX‑et együtt?** +V: Igen, a GroupDocs.Search alapból széles körű formátumot támogat. + +**K: Hogyan működik a “how to delete index” a háttérben?** +V: A `delete` metódus a dokumentumkulcsok alapján távolítja el a bejegyzéseket, és frissíti a belső posting listákat, hogy az index konzisztens maradjon. + +**K: Van mód az index méretének monitorozására?** +V: Használd az `index.getStatistics()`‑t, hogy információt kapj a dokumentumszámról és a tárolási méretről. + +**K: Újra kell építeni az egész indexet minden törlés után?** +V: Nem, a `delete` művelet inkrementálisan frissíti az indexet, megőrizve a meglévő adatokat. + +**K: Mi a teendő, ha egy séma változás után újra kell indexelni az összes dokumentumot?** +V: Hozz létre egy új `Index` példányt egy másik mappával, és add hozzá újra az összes dokumentumot. + +## Összegzés + +Eddig már szilárd ismeretekkel kell rendelkezned a **how to index java** dokumentumok indexeléséről és a gyors keresések végrehajtásáról a GroupDocs.Search for Java segítségével. Ez a hatékony könyvtár átalakíthatja a nagy dokumentumgyűjtemények kezelését és információk visszakeresését, így felbecsülhetetlen eszköz minden szervezet számára. + +**Következő lépések:** +- Kísérletezz különböző dokumentumtípusokkal és összetett lekérdezésekkel. +- Fedezd fel a fejlett funkciókat, mint a faceted search, metaadat-indexelés és egyedi elemzők. + +Készen állsz az indexelési útjára? Valósítsd meg ezeket a technikákat még ma, és tapasztald meg a gyorsabb, pontosabb dokumentumvisszakeresést! + +--- + +**Utoljára frissítve:** 2025-12-29 +**Tesztelve:** GroupDocs.Search Java 25.4 +**Szerző:** GroupDocs \ No newline at end of file diff --git a/content/hungarian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/hungarian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..26f89be5 --- /dev/null +++ b/content/hungarian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,278 @@ +--- +date: '2025-12-29' +description: Tanulja meg, hogyan optimalizálhatja a keresési teljesítményt a GroupDocs.Search + for Java fejlett indexelési funkcióinak használatával, beleértve a leállítást, az + aszinkron műveleteket, a több szálú feldolgozást és a metaadat testreszabását. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Keresési teljesítmény optimalizálása fejlett indexelési technikákkal a GroupDocs.Search + for Java-ban +type: docs +url: /hu/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Keresési teljesítmény optimalizálása fejlett indexelési technikákkal a GroupDocs.Search for Java-ban + +A mai gyors tempójú digitális környezetben a **keresési teljesítmény optimalizálása** elengedhetetlen a felhasználók számára azonnali eredmények biztosításához. Akár egy egyedi keresőmotort építesz, akár egy meglévő dokumentumkezelő rendszert fejlesztesz, a megfelelő indexelési stratégia drámaian csökkentheti a késleltetést és az erőforrás-felhasználást. Ebben az útmutatóban a GroupDocs.Search for Java legfontosabb funkcióit—annulálás, aszinkron indexelés, több szálas feldolgozás és metaadat testreszabás—végigvezetjük, hogy **add documents index** gyorsabban és hatékonyabban tudj. + +**Mit fogsz megtanulni** + +- Hogyan lehet egy indexelési műveletet egy megadott idő után leállítani +- Aszinkron indexelési műveletek végrehajtása és az állapotváltozások kezelése +- Többszálas konfigurálása a gyorsabb indexeléshez +- Metaadat indexelési beállítások testreszabása + +Győződj meg róla, hogy minden szükséges eszközöd megvan, mielőtt a kódba merülnénk. + +## Előfeltételek + +- **GroupDocs.Search Library** – 25.4 vagy újabb verzió. +- **Java Development Environment** – JDK 8 vagy újabb ajánlott. +- Alapvető ismeretek a Java-val és az indexelés koncepciójával kapcsolatban. + +### A GroupDocs.Search for Java beállítása + +#### Maven telepítés + +Add the repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Közvetlen letöltés + +Alternatívaként töltsd le a legújabb JAR-t a [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) oldalról. + +**License Acquisition** – Kezd egy ingyenes próbaverzióval, vagy kérj ideiglenes licencet a teljes funkciókészlet feloldásához. + +### Alapvető inicializálás és beállítás + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Gyors válaszok + +- **Mi a leállítás funkciója?** Leállítja az indexelést egy beállított idő után, hogy felszabadítsa az erőforrásokat. +- **Indexelhetek dokumentumokat aszinkron módon?** Igen – állítsd be a `options.setAsync(true)` értéket. +- **Hány szálat használhatok?** Bármely pozitív egész szám; a legtöbb szerveren a tipikus érték 2‑4. +- **A metaadat indexelés opcionális?** Teljesen – engedélyezheted vagy finomhangolhatod mezőnként. +- **Szükségem van licencre ezekhez a funkciókhoz?** A próba verzió teszteléshez megfelelő; a termeléshez teljes licenc szükséges. + +## Mit jelent a „Keresési teljesítmény optimalizálása” ebben a kontextusban? + +A keresési teljesítmény optimalizálása azt jelenti, hogy az indexelési folyamatot úgy konfiguráljuk, hogy a megfelelő mennyiségű CPU-t, memóriát és időt használja, miközben azonnal a legrelevánsabb eredményeket szolgáltatja. A leállítás, az aszinkron végrehajtás, a szálkezelés és a metaadatok kezelése szabályozásával közvetlenül befolyásolod, milyen gyorsan tudja a motor **add documents index** és válaszolni a lekérdezésekre. + +## Miért használjunk fejlett indexelési funkciókat? + +- **Csökkentett késleltetés** – Az aszinkron és több szálas indexelés az alkalmazásod válaszkész maradását biztosítja. +- **Jobb erőforrás-kezelés** – A leállítás megakadályozza a szabadon futó folyamatokat. +- **Testreszabott keresési relevancia** – A metaadat beállítások lehetővé teszik a legfontosabb információk kiemelését. + +## Implementációs útmutató + +### Annulálás tulajdonság + +**Áttekintés** – Az indexelés leállítása egy megadott időtartam után, hogy elkerüld az erőforrások túlzott fogyasztását. + +#### 1. lépés: A környezet beállítása + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 2. lépés: Indexelési beállítások létrehozása leállítással + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Kulcspontok** + +- `setCancellation()` aktiválja a funkciót. +- `cancelAfter(int milliseconds)` meghatározza a timeout-ot (ebben a példában 3 másodperc). + +### Aszinkron tulajdonság + +**Áttekintés** – Az indexelés futtatása háttérszálon, és a státuszváltozások figyelése. + +#### 1. lépés: A környezet beállítása + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 2. lépés: Eseménykezelő feliratkozása a státuszváltozásra + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### 3. lépés: Aszinkron beállítások konfigurálása + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Szálak tulajdonság + +**Áttekintés** – Az indexelés felgyorsítása több CPU mag kihasználásával. + +#### 1. lépés: A környezet beállítása + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 2. lépés: Többszálas konfigurálása + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metaadat indexelési beállítások tulajdonság + +**Áttekintés** – Finomhangolni, hogy mely dokumentum metaadatok kerülnek indexelésre és hogyan tárolódnak. + +#### 1. lépés: A környezet beállítása + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 2. lépés: Metaadat beállítások konfigurálása + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Gyakorlati alkalmazások + +1. **Dokumentumkezelő rendszerek** – Aszinkron indexelés használata a felhasználói felület válaszkészségének megőrzéséhez, miközben nagy kötegek a háttérben kerülnek feldolgozásra. +2. **Tartalomkereső motorok** – Leállítás alkalmazása, hogy a hosszú futású feladatok ne terheljék a szerver erőforrásait a csúcsforgalom során. +3. **Nagy léptékű ingestiós csővezetékek** – Többszálas feldolgozás kihasználása a **add documents index** nagy méretekben, ami drámai módon csökkenti a feldolgozási időt. + +## Teljesítmény szempontok + +- **Szálkezelés** – Figyeld a CPU használatát; a túl sok szál kontextusváltási terhet okozhat. +- **Memória lábnyoma** – A metaadat korlátok (pl. `setMaxBytesToIndexField`) segítenek a memóriahasználat kiszámíthatóvá tételében. +- **Garbage Collection** – Használj megfelelő JVM flag-eket (`-Xmx`, `-XX:+UseG1GC`) hatalmas korpuszok indexelésekor. + +## Gyakori problémák és megoldások + +| Tünet | Valószínű ok | Megoldás | +|-------|--------------|----------| +| Az indexelés soha nem fejeződik be | A leállítás túl alacsonyra van állítva | `cancelAfter` érték növelése vagy a leállítás eltávolítása hosszú feladatoknál | +| Nincs státuszfrissítés aszinkron módban | Az eseménykezelő nincs megfelelően csatolva | Győződj meg róla, hogy a `index.getEvents().StatusChanged.add(...)` hívás megtörténik a `index.add` előtt | +| Memóriahiányos hibák | Túl sok szál vagy magas metaadat korlátok | `options.setThreads` csökkentése és a metaadat mezőkorlátok alacsonyabbra állítása | +| Hiányzó metaadatok az eredményekben | A metaadat indexelés le van tiltva | Ellenőrizd, hogy a `options.getMetadataIndexingOptions()` konfigurálva van, és nem állították be a mezők figyelmen kívül hagyására | + +## Gyakran ismételt kérdések + +**K: Hogyan szerezhetek ideiglenes licencet a GroupDocs.Search-hez?** +A: Látogasd meg a [GroupDocs ideiglenes licenc oldalát](https://purchase.groupdocs.com/temporary-license/). + +**K: Leállíthatok egy indexelési műveletet közben?** +A: Igen – használd a leállítási tulajdonságot a `cancelAfter()`-val, vagy programozottan hívd a `Cancellation.cancel()`-t. + +**K: Milyen felhasználási esetek vannak az aszinkron indexelésre?** +A: A valós‑idő dokumentum lekérdezés, a háttérben futó kötegelt feldolgozás és a UI‑válaszkész alkalmazások profitálnak az aszinkron indexelésből. + +**K: Biztonságos a szálak számát növelni egy megosztott szerveren?** +A: Növeld fokozatosan és figyeld a CPU terhelést; erősen megosztott környezetben tartsd a szálak számát mérsékelt szinten (2‑4). + +**K: Hogyan befolyásolja a metaadat indexelés a keresési relevanciát?** +A: A megfelelően indexelt metaadatok (szerző, létrehozás dátuma, címkék) magasabb súlyt kaphatnak a lekérdezésekben, ezáltal javítva az eredmények pontosságát. + +## Következtetés + +A GroupDocs.Search for Java fejlett funkcióinak alkalmazásával **optimalizálni fogod a keresési teljesítményt** különféle helyzetekben – a gyors dokumentumfelvételtől a finomhangolt metaadat-vezérlésig. Kísérletezz különböző konfigurációkkal, figyeld az erőforrás-használatot, és a beállításokat a saját munkaterhelésedhez igazítsd a legjobb eredmények eléréséhez. + +--- + +**Utolsó frissítés:** 2025-12-29 +**Tesztelve ezzel:** GroupDocs.Search 25.4 for Java +**Szerző:** GroupDocs \ No newline at end of file diff --git a/content/indonesian/java/getting-started/_index.md b/content/indonesian/java/getting-started/_index.md new file mode 100644 index 00000000..92cad3f5 --- /dev/null +++ b/content/indonesian/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Panduan langkah demi langkah tentang cara mengkonfigurasi GroupDocs.Search + untuk pengembang Java, mencakup instalasi, lisensi, dan pembuatan solusi pencarian + pertama Anda. +title: 'Cara Mengonfigurasi GroupDocs.Search - Tutorial Memulai untuk Java' +type: docs +url: /id/java/getting-started/ +weight: 1 +--- + +# Cara Mengonfigurasi GroupDocs.Search - Tutorial Memulai untuk Java + +Selamat datang di panduan lengkap tentang **cara mengonfigurasi GroupDocs.Search** untuk aplikasi Java. Dalam tutorial ini Anda akan mempelajari langkah‑langkah penting untuk menginstal pustaka, menyiapkan lisensi, dan membangun solusi dokumen yang dapat dicari pertama Anda. Baik Anda memulai proyek baru maupun mengintegrasikan pencarian ke dalam basis kode yang sudah ada, panduan ini memberikan semua yang Anda perlukan untuk memulai dengan cepat. + +## Quick Answers +- **Apa langkah pertama?** Instal paket GroupDocs.Search Java melalui Maven atau Gradle. +- **Apakah saya memerlukan lisensi?** Ya—lisensi sementara dapat digunakan untuk pengembangan; lisensi penuh diperlukan untuk produksi. +- **IDE mana yang paling cocok?** Semua IDE Java (IntelliJ IDEA, Eclipse, VS Code) yang mendukung proyek Maven/Gradle. +- **Bisakah saya mengindeks file PDF dan Word?** Tentu—GroupDocs.Search mendukung berbagai format dokumen secara langsung. +- **Berapa lama proses penyiapan?** Biasanya kurang dari 15 menit untuk proyek baru. + +## Apa itu “cara mengonfigurasi GroupDocs.Search”? +Mengonfigurasi GroupDocs.Search berarti menyiapkan pustaka untuk mengindeks dokumen, menentukan lokasi penyimpanan, dan menerapkan kunci lisensi Anda sehingga API dapat beroperasi tanpa batasan. Konfigurasi yang tepat memastikan hasil pencarian yang cepat dan akurat serta integrasi yang mulus dengan kode Java Anda. + +## Mengapa mengonfigurasi GroupDocs.Search untuk Java? +- **Implementasi cepat** – Kode minimal diperlukan untuk memulai pengindeksan dan pencarian. +- **Pengindeksan skalabel** – Menangani koleksi dokumen besar tanpa penurunan kinerja. +- **Dukungan format luas** – Bekerja dengan PDF, DOCX, XLSX, PPTX, dan banyak tipe file lainnya. +- **Lisensi aman** – Menjamin kepatuhan dan membuka semua fitur premium. + +## Prerequisites +- Java Development Kit (JDK) 8 atau lebih tinggi. +- Maven 3 atau Gradle 5 untuk manajemen dependensi. +- Akses ke kunci lisensi GroupDocs.Search sementara atau penuh. + +## Step‑by‑Step Guide + +### Langkah 1: Tambahkan GroupDocs.Search ke Proyek Anda +Sertakan dependensi GroupDocs.Search dalam `pom.xml` (Maven) atau `build.gradle` (Gradle) Anda. Ini membuat pustaka tersedia untuk kode Anda. + +### Langkah 2: Terapkan Lisensi Anda +Buat objek `License` dan muat file lisensi sementara atau permanen Anda. Langkah ini membuka semua fungsionalitas dan menghapus batas evaluasi. + +### Langkah 3: Inisialisasi Pengaturan Indeks +Tentukan di mana file indeks akan disimpan di disk dan konfigurasikan opsi pengindeksan khusus yang Anda perlukan (misalnya, sensitivitas huruf, kata berhenti). + +### Langkah 4: Indeks Dokumen Anda +Gunakan kelas `Indexer` untuk menambahkan file atau folder ke indeks. GroupDocs.Search secara otomatis mendeteksi tipe file dan mengekstrak teks yang dapat dicari. + +### Langkah 5: Lakukan Kuery Pencarian +Buat objek `SearchOptions`, tentukan string kueri, dan jalankan pencarian. API mengembalikan daftar dokumen yang cocok beserta skor relevansi. + +### Langkah 6: Tinjau Hasil +Iterasi hasil pencarian, tampilkan nama file, dan secara opsional sorot istilah yang cocok di UI. + +## Common Issues and Solutions +- **Lisensi tidak dikenali** – Verifikasi jalur file lisensi dan pastikan cocok dengan versi GroupDocs.Search yang Anda gunakan. +- **Format dokumen tidak tersedia** – Instal add‑on opsional `groupdocs-conversion` jika Anda memerlukan dukungan untuk tipe file yang kurang umum. +- **Kendala kinerja** – Gunakan pengindeksan inkremental dan konfigurasikan folder indeks pada penyimpanan SSD untuk akses lebih cepat. + +## Frequently Asked Questions + +**T: Apakah saya dapat menggunakan GroupDocs.Search di server Linux?** +J: Ya, pustaka ini bersifat platform‑independen dan dapat berjalan pada sistem operasi apa pun yang mendukung Java. + +**T: Bagaimana cara memperbarui indeks setelah menambahkan file baru?** +J: Panggil kembali `Indexer` dengan file baru; pustaka akan menggabungkannya ke dalam indeks yang ada. + +**T: Apakah ada cara untuk membatasi hasil pencarian ke folder tertentu?** +J: Ya, atur `SearchOptions` untuk menyertakan filter folder sebelum mengeksekusi kueri. + +**T: Apa yang terjadi jika saya melewati masa lisensi sementara?** +J: API akan tetap berfungsi dalam mode evaluasi dengan fitur terbatas; ganti file lisensi dengan kunci permanen untuk mengembalikan fungsionalitas penuh. + +**T: Apakah GroupDocs.Search mendukung pencarian fuzzy?** +J: Tentu—aktifkan pencocokan fuzzy di `SearchOptions` untuk mendapatkan hasil dengan variasi ejaan kecil. + +## Additional Resources + +### Tutorial yang Tersedia + +### [Deploy GroupDocs.Search untuk Java: Panduan Penyiapan Komprehensif](./deploy-groupdocs-search-java-setup-guide/) +Pelajari cara men-deploy dan mengonfigurasi GroupDocs.Search untuk Java dengan panduan langkah‑demi‑langkah ini. Tingkatkan kemampuan pengindeksan dokumen dan pencarian dalam proyek Anda. + +### Tautan Berguna +- [Dokumentasi GroupDocs.Search untuk Java](https://docs.groupdocs.com/search/java/) +- [Referensi API GroupDocs.Search untuk Java](https://reference.groupdocs.com/search/java/) +- [Unduh GroupDocs.Search untuk Java](https://releases.groupdocs.com/search/java/) +- [Forum GroupDocs.Search](https://forum.groupdocs.com/c/search) +- [Dukungan Gratis](https://forum.groupdocs.com/) +- [Lisensi Sementara](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/indonesian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/indonesian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..9115f997 --- /dev/null +++ b/content/indonesian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Pelajari cara membersihkan direktori Java, mengotomatisasi manajemen + dokumen, dan mengganti nama file menggunakan GroupDocs.Search untuk Java. Tingkatkan + efisiensi aplikasi Anda. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Bersihkan Direktori Java – Otomatisasi Pengindeksan & Penamaan Ulang +type: docs +url: /id/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Mengotomatisasi Pengindeksan Dokumen dan Penamaan Ulang Menggunakan GroupDocs.Search + +Jika Anda perlu **clean directory java** sambil mengotomatisasi pengindeksan dokumen dan penamaan ulang, Anda berada di tempat yang tepat. Menangani pemindahan file, penghapusan, dan pembaruan indeks secara manual rawan kesalahan dan memakan waktu. Dalam tutorial ini kami akan menunjukkan cara membiarkan Java melakukan pekerjaan berat, menggunakan **GroupDocs.Search for Java** untuk membuat indeks yang dapat dicari, menamai ulang file, dan menjaga indeks tetap sinkron secara otomatis. + +## Jawaban Cepat +- **Apa arti “clean directory java”?** Menghapus semua file/folder di dalam direktori target menggunakan kode Java. +- **Library mana yang membuat indeks yang dapat dicari?** GroupDocs.Search for Java. +- **Bagaimana cara menamai ulang dokumen dan menjaga indeks tetap terbarui?** Gunakan `File.renameTo()` lalu beri tahu indeks dengan `Notification.createRenameNotification`. +- **Bisakah saya menyalin file setelah membersihkan folder?** Ya – Java Streams dapat menyalin file sambil mempertahankan indeks. +- **Apakah lisensi diperlukan untuk produksi?** Lisensi GroupDocs.Search yang valid diperlukan untuk penggunaan komersial. + +## Apa itu “clean directory java”? +Membersihkan direktori di Java berarti secara programatik menghapus setiap file dan sub‑folder di dalam folder yang ditentukan. Ini sering menjadi langkah prasyarat sebelum menyalin file baru atau membangun ulang indeks, memastikan data usang tidak mengganggu hasil pencarian. + +## Mengapa mengotomatisasi pengindeksan dokumen dan penamaan ulang? +- **Otomatisasi manajemen dokumen** mengurangi upaya manual dan menghilangkan kesalahan manusia. +- Langkah **membuat indeks yang dapat dicari** memungkinkan Anda menemukan dokumen apa pun secara instan berdasarkan kontennya. +- Menamai ulang file tanpa memperbarui indeks akan merusak akurasi pencarian; otomatisasi menjaga semuanya konsisten. + +## Prerequisites + +- **GroupDocs.Search for Java** (Version 25.4 or later) +- JDK 8 + and an IDE such as IntelliJ IDEA or Eclipse +- Basic Java knowledge, especially file I/O + +## Menyiapkan GroupDocs.Search untuk Java + +### Maven Dependency +Tambahkan repositori dan dependensi ke `pom.xml` Anda: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Sebagai alternatif, unduh versi terbaru dari [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Dapatkan percobaan gratis, lisensi evaluasi sementara, atau beli lisensi penuh untuk penggunaan produksi. + +### Basic Initialization +Buat instance `Index` yang akan menyimpan data yang dapat dicari: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Panduan Implementasi + +### 1. Tambahkan Dokumen ke Indeks (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Penjelasan*: +- `indexFolder` – tempat file indeks disimpan. +- `documentFolder` – folder sumber yang berisi file yang ingin Anda jadikan dapat dicari. + +### 2. Menamai Ulang Dokumen dan Memberi Tahu Indeks + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Penjelasan*: +- `File.renameTo()` Java melakukan penamaan ulang fisik. +- `Notification.createRenameNotification()` memberi tahu GroupDocs.Search bahwa nama file berubah, menjaga indeks tetap akurat. + +## Clean Directory Java – Pembersihan Direktori dan Penyalinan File + +Menjaga folder tetap rapi sebelum penyalinan massal mencegah file duplikat atau terabaikan. Berikut dua potongan kode yang dapat digunakan kembali. + +### Langkah 1: Hapus Isi Folder (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Penjelasan*: +- `Files.walk()` menelusuri setiap file dan sub‑folder. +- Pengurutan secara terbalik memastikan file dihapus sebelum direktori induknya, secara efektif **delete folder contents**. + +### Langkah 2: Salin File (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Penjelasan*: +- Stream memfilter hanya file reguler, kemudian menyalin masing‑masing ke direktori target, menimpa file yang ada jika diperlukan. + +## Aplikasi Praktis + +- **Manajemen Dokumen Perusahaan** – Mengotomatisasi pengindeksan ribuan kontrak dan menjaga nama file tetap sinkron. +- **Firma Hukum** – Menamai ulang file kasus dengan cepat sambil mempertahankan konten yang dapat dicari. +- **Sistem Manajemen Konten** – Gunakan pola clean‑directory untuk menyegarkan folder media tanpa pembersihan manual. + +## Pertimbangan Kinerja + +- **Ukuran Indeks** – Secara periodik kompakkan indeks jika menjadi besar. +- **Penggunaan Memori** – Proses file dalam batch untuk menghindari `OutOfMemoryError`. +- **Konkruensi** – Untuk operasi massal, pertimbangkan `ExecutorService` Java untuk memparalelkan pembersihan dan penyalinan. + +## Masalah Umum & Tips + +| Masalah | Penyebab | Solusi | +|-------|-------|-----| +| Gagal menamai ulang | File terkunci atau path tidak valid | Pastikan file tidak terbuka di tempat lain; gunakan `Files.move` untuk penamaan ulang yang lebih dapat diandalkan. | +| Indeks tidak terbarui | Notifikasi tidak dikirim | Selalu panggil `index.notifyIndex(notification)` diikuti dengan `index.update()`. | +| Hasil pencarian usang setelah penyalinan | Indeks masih mengarah ke file lama | Tambahkan kembali folder target ke indeks atau panggil `index.update()` setelah menyalin. | + +## Pertanyaan yang Sering Diajukan + +**Q: Bisakah saya membersihkan direktori yang berisi sub‑folder?** +A: Ya. Pendekatan `Files.walk()` secara rekursif menghapus semua file dan folder yang bersarang. + +**Q: Apakah saya perlu membangun ulang seluruh indeks setelah setiap penamaan ulang?** +A: Tidak. Mengirim notifikasi penamaan ulang dan memanggil `index.update()` sudah cukup. + +**Q: Seberapa besar folder yang dapat saya bersihkan sebelum mencapai batas kinerja?** +A: Itu tergantung pada memori JVM; memproses dalam batch lebih kecil atau menggunakan streams membantu mengelola kumpulan data besar. + +**Q: Apakah GroupDocs.Search gratis untuk pengembangan?** +A: Versi percobaan gratis tersedia, tetapi lisensi berbayar diperlukan untuk penggunaan produksi. + +**Q: Bisakah saya menggunakan pendekatan ini dengan tipe file lain (mis., PDF, DOCX)?** +A: Tentu saja. GroupDocs.Search mendukung banyak format; cukup tambahkan folder yang berisi file tersebut ke indeks. + +## Kesimpulan + +Anda kini memiliki solusi lengkap yang siap produksi untuk **clean directory java**, menambahkan dokumen ke indeks yang dapat dicari, menamai ulang file, dan menjaga semuanya tersinkronisasi dengan GroupDocs.Search. Terapkan pola ini untuk mengotomatisasi alur kerja manajemen dokumen Anda dan nikmati pengalaman pencarian yang lebih cepat dan lebih dapat diandalkan. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/indonesian/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/indonesian/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..0f082d70 --- /dev/null +++ b/content/indonesian/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: Pelajari cara mengelola kata sandi dokumen Java dengan GroupDocs.Search, + membuat indeks yang dapat dicari, dan melakukan pencarian secara efisien di seluruh + dokumen. +keywords: +- manage document passwords java +- search across multiple documents +title: Kelola Kata Sandi Dokumen Java menggunakan GroupDocs.Search +type: docs +url: /id/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Kelola Kata Sandi Dokumen Java menggunakan GroupDocs.Search + +Dalam aplikasi perusahaan modern, **manage document passwords Java** adalah langkah penting untuk menjaga file sensitif tetap aman sambil tetap memungkinkan pencarian yang cepat dan andal. Dalam panduan ini kami akan menunjukkan cara membuat dan mengelola indeks dengan GroupDocs.Search, menyimpan kata sandi secara aman dalam kamus indeks, dan kemudian **search across multiple documents** dengan mudah. Baik Anda sedang membangun sistem manajemen dokumen atau menambahkan pencarian ke aplikasi Java yang sudah ada, langkah‑langkah di bawah ini akan membuat Anda siap beroperasi dengan cepat. + +## Jawaban Cepat +- **Apa arti “manage document passwords Java”?** Ini merujuk pada penyimpanan dan pengambilan kata sandi untuk file yang dilindungi langsung di indeks pencarian. +- **Bisakah saya mengindeks file yang dilindungi kata sandi?** Ya—tambahkan kata sandi ke kamus indeks sebelum proses pengindeksan. +- **Berapa banyak dokumen yang dapat saya cari sekaligus?** GroupDocs.Search dapat **search across multiple documents** dalam satu kueri. +- **Apakah saya memerlukan lisensi untuk produksi?** Lisensi diperlukan untuk penggunaan produksi; percobaan gratis tersedia untuk evaluasi. +- **Versi Java apa yang diperlukan?** JDK 8 atau lebih tinggi. + +## Apa itu “manage document passwords Java”? +Menyimpan kata sandi dokumen di dalam indeks pencarian memungkinkan mesin membuka file yang dilindungi secara otomatis selama pengindeksan dan pencarian, menghilangkan kebutuhan memasukkan kata sandi secara manual setiap kali. + +## Mengapa menggunakan GroupDocs.Search untuk tugas ini? +- **Kamus kata sandi bawaan** – menyimpan kata sandi yang terhubung dengan jalur file. +- **Pengindeksan berperforma tinggi** – menangani ribuan file dengan cepat. +- **Bahasa kueri kaya** – mendukung pencarian kompleks di banyak tipe dokumen. + +## Prasyarat +- **JDK 8+** terpasang. +- **Maven** untuk manajemen dependensi. +- Pengetahuan dasar Java (penanganan file, kelas). + +## Menyiapkan GroupDocs.Search untuk Java + +Tambahkan repositori dan dependensi ke `pom.xml` Anda: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Anda juga dapat mengunduh pustaka langsung dari halaman rilis resmi: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Inisialisasi Indeks + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Cara mengelola kata sandi dokumen Java? + +### 1. Define the Index Folder and Create the Index +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Clear Existing Passwords (if any) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Add a Password for a Specific Document +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Retrieve and Remove a Password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Add Passwords to Multiple Documents +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Aplikasi Praktis +- **Manajemen Dokumen Perusahaan** – arsip yang aman dan dapat dicari. +- **Platform Manajemen Konten** – pengambilan cepat aset yang dilindungi. +- **Repositori Dokumen Hukum** – menjaga kerahasiaan sambil memungkinkan pencarian teks penuh. + +## Pertimbangan Kinerja +- **Pengindeksan Paralel** – gunakan banyak thread untuk batch besar. +- **Pemantauan Memori** – perhatikan heap JVM selama impor besar-besaran. +- **Pemeliharaan Indeks Rutin** – lakukan re‑indeks ketika file berubah atau kata sandi diperbarui. + +## Kesimpulan +Anda kini tahu cara **manage document passwords Java** dengan GroupDocs.Search, membuat indeks yang kuat, dan melakukan **search across multiple documents** yang powerful. Dengan mengintegrasikan langkah‑langkah ini ke dalam aplikasi Anda, Anda akan memberikan pengalaman pencarian yang aman, cepat, dan dapat diskalakan. + +**Next Steps** +- Coba operator kueri lanjutan (wildcard, pencarian fuzzy). +- Jelajahi pengindeksan inkremental untuk pembaruan waktu nyata. +- Gabungkan dengan produk GroupDocs lainnya untuk konversi PDF atau anotasi. + +## Pertanyaan yang Sering Diajukan + +**Q: Bisakah saya mengindeks volume besar dokumen?** +A: Ya, GroupDocs.Search dirancang untuk menangani koleksi besar secara efisien. + +**Q: Apakah mungkin memperbarui indeks yang ada dengan dokumen baru?** +A: Tentu saja! Anda dapat menambah atau menghapus dokumen dari indeks Anda sesuai kebutuhan. + +**Q: Bagaimana cara memastikan keamanan data yang diindeks?** +A: Gunakan kamus kata sandi dokumen dan simpan indeks di direktori yang terlindungi. + +**Q: Bisakah GroupDocs.Search menangani berbagai format file?** +A: Ya, ia mendukung PDF, file Word, lembar Excel, dan banyak format umum lainnya. + +**Q: Bagaimana jika saya mengalami masalah kinerja saat mengindeks?** +A: Pertimbangkan mengaktifkan pemrosesan paralel, meningkatkan ukuran heap, atau menyesuaikan pengaturan indeks. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Sumber Daya** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/indonesian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/indonesian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..4a8c8d2c --- /dev/null +++ b/content/indonesian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,248 @@ +--- +date: '2025-12-29' +description: Pelajari cara mengindeks dokumen Java dan membuat indeks pencarian dengan + GroupDocs.Search untuk Java. Panduan ini mencakup pengaturan, pengindeksan, pencarian, + dan pengelolaan dokumen secara efisien. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Cara Mengindeks Dokumen Java dengan GroupDocs.Search – Pencarian Efisien +type: docs +url: /id/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Cara Mengindeks Dokumen Java dengan GroupDocs.Search – Pencarian Efisien + +## Pendahuluan + +Apakah Anda kewalahan dengan sejumlah besar dokumen dan bertanya-tanya **how to index java** file dengan cepat? Banyak perusahaan dan individu menghadapi tantangan ini setiap hari. **GroupDocs.Search for Java** menawarkan solusi efisien untuk menyederhanakan pencarian dokumen, membuat prosesnya lebih cepat dan lebih mudah dikelola. + +Dalam tutorial ini, kami akan memandu Anda menggunakan GroupDocs.Search for Java untuk membuat repositori terindeks dari dokumen Anda. Anda akan belajar cara memuat dokumen dari sistem file, melakukan pencarian, mengelola penghapusan, dan mengambil data terindeks secara efisien dan skalabel. + +**Apa yang Akan Anda Pelajari:** +- Menyiapkan dan mengonfigurasi GroupDocs.Search for Java. +- **Membuat indeks pencarian** dan mengindeks dokumen dari aliran. +- Memuat dokumen dari sistem file. +- **Melakukan pencarian kata kunci** pada indeks Anda. +- **Cara menghapus indeks** untuk dokumen tertentu. +- Mengambil dokumen terindeks setelah penghapusan. + +Siap merevolusi cara Anda mengelola pencarian dokumen? Mari mulai dengan prasyarat! + +## Quick Answers +- **Apa tujuan utama?** Mengindeks dan mencari dokumen Java secara efisien. +- **Perpustakaan mana yang diperlukan?** GroupDocs.Search for Java (v25.4+). +- **Apakah saya memerlukan lisensi?** Versi percobaan gratis atau lisensi sementara tersedia; lisensi permanen diperlukan untuk produksi. +- **Bisakah saya menghapus dokumen dari indeks?** Ya, dengan menggunakan metode `delete` dengan kunci dokumen. +- **Apakah Apache Commons IO wajib?** Disarankan untuk utilitas penanganan file. + +## Apa itu “how to index java”? +Mengindeks dokumen Java berarti membuat struktur data yang dapat dicari (sebuah indeks) yang memetakan konten dokumen ke istilah yang dapat dicari, memungkinkan pengambilan cepat file yang relevan berdasarkan kueri kata kunci. + +## Why Use GroupDocs.Search for Java? +- **Kecepatan:** Algoritma yang dioptimalkan memberikan hasil kueri yang cepat bahkan pada koleksi besar. +- **Skalabilitas:** Menangani ribuan dokumen tanpa mengorbankan kinerja. +- **Fleksibilitas:** Mendukung berbagai format file dan menawarkan lazy loading untuk file besar. +- **Kemudahan Integrasi:** Pengaturan Maven yang sederhana dan API yang langsung. + +## Prerequisites + +Sebelum kita mulai, pastikan Anda memiliki hal berikut: + +### Required Libraries and Dependencies +- **GroupDocs.Search for Java**: Pastikan versi 25.4 atau lebih baru terpasang. +- **Apache Commons IO**: Diperlukan untuk utilitas penanganan file. + +### Environment Setup Requirements +- Java Development Kit (JDK) 8 atau lebih tinggi. +- Integrated Development Environment (IDE) seperti IntelliJ IDEA atau Eclipse. + +### Knowledge Prerequisites +- Pemahaman dasar tentang pemrograman Java dan konsep berorientasi objek. +- Keterbiasaan dengan Maven untuk manajemen dependensi bermanfaat tetapi tidak wajib. + +## Setting Up GroupDocs.Search for Java + +Menyiapkan lingkungan proyek Anda dengan GroupDocs.Search melibatkan langkah-langkah berikut menggunakan Maven: + +**Konfigurasi Maven:** +Add the following repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Unduhan Langsung:** +Alternatively, download the latest version directly from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License Acquisition Steps +- **Uji Coba Gratis:** Mulai dengan uji coba gratis untuk menguji kemampuannya. +- **Lisensi Sementara:** Ajukan lisensi sementara untuk menjelajahi semua fitur tanpa batasan. +- **Pembelian:** Pertimbangkan untuk membeli jika memenuhi kebutuhan Anda. + +**Basic Initialization and Setup:** + +Once your environment is ready, initialize GroupDocs.Search like this: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## How to Index Java Documents Using GroupDocs.Search + +### Creating and Indexing Documents + +**Ikhtisar:** Pelajari cara membuat indeks di folder tertentu dan menambahkan dokumen dari aliran, menyederhanakan proses **create search index**. + +#### Step 1: Create an Index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameter:** Parameter pertama adalah path direktori untuk menyimpan indeks. Boolean kedua mengaktifkan pembaruan otomatis indeks jika sudah ada. + +#### Step 2: Load and Add Documents from Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Penjelasan:** Di sini, Anda membuat `DocumentLoader` untuk membaca file dan menyiapkannya untuk diindeks. Metode `createLazy` digunakan untuk menangani file besar secara efisien. + +### Loading Documents from File System + +**Ikhtisar:** Implementasikan loader kustom yang membaca dokumen langsung dari sistem file Anda menggunakan utilitas Apache Commons IO. + +#### Step 1: Define Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detail:** Kelas ini membaca file ke dalam array byte dan membuat objek `Document` darinya. + +### Performing Keyword Search in an Index + +**Ikhtisar:** Jalankan operasi pencarian pada dokumen terindeks Anda untuk mengambil informasi yang relevan dengan cepat. + +#### Step 1: Execute Search +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Penjelasan:** Gunakan metode `search` dengan kueri teks sederhana untuk mendapatkan hasil dari data terindeks Anda. Pendekatan ini efisien untuk skenario **java document search**. + +### How to Delete Index Entries + +**Ikhtisar:** Kelola indeks Anda dengan menghapus dokumen tertentu menggunakan kunci mereka. + +#### Step 1: Delete Document +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameter:** Berikan array kunci dokumen yang ingin Anda hapus dari indeks. `UpdateOptions` memungkinkan strategi penghapusan yang fleksibel. + +### Retrieving Indexed Documents Post‑Deletion + +**Ikhtisar:** Setelah menghapus dokumen, ambil daftar file terindeks yang tersisa untuk memastikan integritas data. + +#### Step 1: Get Remaining Documents +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Penjelasan:** Langkah ini membantu memverifikasi keadaan indeks Anda saat ini setelah penghapusan apa pun. + +## Practical Applications + +1. **Manajemen Dokumen Perusahaan:** Cepat mencari melalui dokumen perusahaan untuk meningkatkan produktivitas. +2. **Analisis Dokumen Hukum:** Efisien menyaring berkas kasus dan teks hukum untuk menemukan preseden yang relevan. +3. **Sistem Katalog Perpustakaan:** Mengindeks dan mengelola koleksi besar buku serta manuskrip untuk akses yang lebih mudah. + +## Performance Considerations + +Untuk kinerja optimal: + +- **Optimasi Indeks:** Secara rutin perbarui indeks Anda untuk mencerminkan perubahan terbaru pada dokumen. +- **Manajemen Memori:** Gunakan pengumpulan sampah Java secara efektif dengan mengelola operasi yang berat sumber daya. +- **Skalabilitas:** Pastikan strategi pengindeksan Anda dapat menangani volume data besar tanpa menurunkan kinerja. + +## Common Issues and Solutions + +| Issue | Cause | Solution | +|-------|-------|----------| +| **Tidak ada hasil yang dikembalikan** | Istilah kueri tidak diindeks atau stop‑words disaring | Verifikasi `IndexingOptions` dan sesuaikan daftar stop‑words | +| **Kesalahan kehabisan memori** | Memuat file sangat besar tanpa lazy loading | Gunakan `Document.createLazy` atau tingkatkan ukuran heap JVM | +| **Dokumen yang dihapus masih muncul** | Indeks tidak diperbarui setelah penghapusan | Panggil `index.optimize()` atau buka kembali indeks | + +## Frequently Asked Questions + +**T: Bisakah saya mengindeks PDF, DOCX, dan PPTX bersama-sama?** +J: Ya, GroupDocs.Search mendukung berbagai format secara langsung. + +**T: Bagaimana “how to delete index” bekerja di balik layar?** +J: Metode `delete` menghapus entri berdasarkan kunci dokumen dan memperbarui daftar posting internal untuk menjaga konsistensi indeks. + +**T: Apakah ada cara untuk memantau ukuran indeks?** +J: Gunakan `index.getStatistics()` untuk mengambil informasi tentang jumlah dokumen dan ukuran penyimpanan. + +**T: Apakah saya perlu membangun ulang seluruh indeks setelah setiap penghapusan?** +J: Tidak, operasi `delete` memperbarui indeks secara inkremental, mempertahankan data yang ada. + +**T: Bagaimana jika saya perlu mengindeks ulang semua dokumen setelah perubahan skema?** +J: Buat instance `Index` baru dengan path folder yang berbeda dan tambahkan kembali semua dokumen. + +## Conclusion + +Saat ini, Anda seharusnya memiliki pemahaman yang kuat tentang **how to index java** dokumen dan melakukan pencarian cepat menggunakan GroupDocs.Search for Java. Perpustakaan yang kuat ini dapat mengubah cara Anda mengelola dan mengambil informasi dari koleksi dokumen besar, menjadikannya alat yang tak ternilai bagi organisasi mana pun. + +**Langkah Selanjutnya:** +- Bereksperimen dengan berbagai jenis dokumen dan kueri kompleks. +- Jelajahi fitur lanjutan seperti pencarian berfaset, pengindeksan metadata, dan analyzer kustom. + +Siap memulai perjalanan pengindeksan Anda? Terapkan teknik ini hari ini dan rasakan pengambilan dokumen yang lebih cepat dan lebih akurat! + +--- + +**Terakhir Diperbarui:** 2025-12-29 +**Diuji Dengan:** GroupDocs.Search Java 25.4 +**Penulis:** GroupDocs \ No newline at end of file diff --git a/content/indonesian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/indonesian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..f69c22f4 --- /dev/null +++ b/content/indonesian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Pelajari cara mengoptimalkan kinerja pencarian menggunakan fitur pengindeksan + lanjutan dari GroupDocs.Search untuk Java, termasuk pembatalan, operasi asinkron, + multi‑threading, dan penyesuaian metadata. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimalkan Kinerja Pencarian dengan Teknik Pengindeksan Lanjutan di GroupDocs.Search + untuk Java +type: docs +url: /id/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimalkan Kinerja Pencarian dengan Teknik Pengindeksan Lanjutan di GroupDocs.Search untuk Java + +Dalam lingkungan digital yang bergerak cepat saat ini, **mengoptimalkan kinerja pencarian** sangat penting untuk memberikan hasil instan kepada pengguna. Baik Anda membangun mesin pencari khusus maupun meningkatkan sistem manajemen dokumen yang ada, strategi pengindeksan yang tepat dapat secara dramatis mengurangi latensi dan konsumsi sumber daya. Dalam tutorial ini kami akan membahas fitur paling kuat dari GroupDocs.Search untuk Java—pembatalan, pengindeksan asinkron, multi‑threading, dan penyesuaian metadata—sehingga Anda dapat **add documents index** lebih cepat dan lebih efisien. + +**Apa yang Akan Anda Pelajari** + +- Cara membatalkan operasi pengindeksan setelah waktu tertentu +- Melakukan operasi pengindeksan asinkron dan menangani perubahan status +- Mengonfigurasi multi‑threading untuk pengindeksan yang lebih cepat +- Menyesuaikan opsi pengindeksan metadata + +Pastikan Anda memiliki semua yang diperlukan sebelum kami menyelami kode. + +## Prasyarat + +- **GroupDocs.Search Library** – versi 25.4 atau lebih baru. +- **Java Development Environment** – JDK 8 atau lebih tinggi disarankan. +- Familiaritas dasar dengan Java dan konsep pengindeksan. + +### Menyiapkan GroupDocs.Search untuk Java + +#### Instalasi Maven + +Tambahkan repositori dan dependensi ke file `pom.xml` Anda: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Unduhan Langsung + +Sebagai alternatif, unduh JAR terbaru dari [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Mulai dengan percobaan gratis atau minta lisensi sementara untuk membuka semua fitur. + +### Inisialisasi dan Penyiapan Dasar + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Jawaban Cepat +- **What does cancellation do?** Menghentikan pengindeksan setelah waktu tertentu untuk membebaskan sumber daya. +- **Can I index documents asynchronously?** Ya – atur `options.setAsync(true)`. +- **How many threads can I use?** Bilangan bulat positif apa saja; nilai tipikal adalah 2‑4 untuk kebanyakan server. +- **Is metadata indexing optional?** Tentu – Anda dapat mengaktifkan atau menyesuaikannya per bidang. +- **Do I need a license for these features?** Versi percobaan berfungsi untuk pengujian; lisensi penuh diperlukan untuk produksi. + +## Apa Itu “Optimalkan Kinerja Pencarian” dalam Konteks Ini? + +Mengoptimalkan kinerja pencarian berarti mengonfigurasi proses pengindeksan sehingga mengonsumsi jumlah CPU, memori, dan waktu yang tepat sambil memberikan hasil paling relevan secara instan. Dengan mengendalikan pembatalan, eksekusi async, threading, dan penanganan metadata, Anda secara langsung memengaruhi seberapa cepat mesin dapat **add documents index** dan merespons kueri. + +## Mengapa Menggunakan Fitur Pengindeksan Lanjutan? + +- **Reduced latency** – Pengindeksan asinkron dan multi‑threaded menjaga aplikasi Anda tetap responsif. +- **Better resource management** – Pembatalan mencegah proses yang tidak terkendali. +- **Tailored search relevance** – Opsi metadata memungkinkan Anda menampilkan informasi terpenting. + +## Panduan Implementasi + +### Properti Pembatalan + +**Overview** – Batalkan pengindeksan setelah durasi tertentu untuk menghindari konsumsi sumber daya berlebih. + +#### Langkah 1: Siapkan Lingkungan + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Langkah 2: Buat Opsi Pengindeksan dengan Pembatalan + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` mengaktifkan fitur tersebut. +- `cancelAfter(int milliseconds)` menentukan batas waktu (3 detik dalam contoh ini). + +### Properti Asinkron + +**Overview** –ankan pengindeksan pada thread latar belakang dan dengarkan perubahan status. + +#### Langkah 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Langkah 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Langkah 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Properti Thread + +**Overview** – Mempercepat pengindeksan dengan memanfaatkan banyak core CPU. + +#### Langkah 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Langkah 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Properti Opsi Pengindeksan Metadata + +**Overview** – Menyesuaikan secara detail metadata dokumen mana yang diindeks dan bagaimana penyimpanannya. + +#### Langkah 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Langkah 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Aplikasi Praktis + +1. **Document Management Systems** – Gunakan pengindeksan asinkron untuk menjaga UI tetap responsif saat batch besar diproses di latar belakang. +2. **Content Search Engines** – Terapkan pembatalan untuk mencegah pekerjaan yang berjalan lama menghabiskan sumber daya server selama lalu lintas puncak. +3. **Large‑Scale Ingestion Pipelines** – Manfaatkan multi‑threading untuk **add documents index** secara skala besar, memotong waktu pemrosesan secara dramatis. + +## Pertimbangan Kinerja + +- **Thread Management** – Pantau penggunaan CPU; terlalu banyak thread dapat menyebabkan overhead pergantian konteks. +- **Memory Footprint** – Batas metadata (mis., `setMaxBytesToIndexField`) membantu menjaga penggunaan memori tetap dapat diprediksi. +- **Garbage Collection** – Gunakan flag JVM yang tepat (`-Xmx`, `-XX:+UseG1GC`) saat mengindeks korpus besar. + +## Common Issues and Solutions + +| Gejala | Kemungkinan Penyebab | Solusi | +|---------|----------------------|--------| +| Indexing never finishes | Cancellation set too low | Tingkatkan nilai `cancelAfter` atau hapus pembatalan untuk pekerjaan yang panjang | +| No status updates in async mode | Event handler not attached correctly | Pastikan `index.getEvents().StatusChanged.add(...)` dipanggil sebelum `index.add` | +| Out‑of‑memory errors | Too many threads or high metadata limits | Kurangi `options.setThreads` dan turunkan batas bidang metadata | +| Missing metadata in results | Metadata indexing disabled | Verifikasi `options.getMetadataIndexingOptions()` telah dikonfigurasi dan tidak diset untuk mengabaikan bidang | + +## Pertanyaan yang Sering Diajukan + +**Q: How do I obtain a temporary license for GroupDocs.Search?** +A: Kunjungi [halaman lisensi sementara GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**Q: Can I cancel an indexing operation midway through?** +A: Ya – gunakan properti pembatalan dengan `cancelAfter()` atau panggil `Cancellation.cancel()` secara programatik. + +**Q: What are some use cases for asynchronous indexing?** +A: Pengambilan dokumen secara real‑time, pemrosesan batch di latar belakang, dan aplikasi yang responsif terhadap UI mendapat manfaat dari pengindeksan async. + +**Q: Is it safe to increase the thread count on a shared server?** +A: Tingkatkan secara bertahap dan pantau beban CPU; pada lingkungan yang sangat berbagi, pertahankan jumlah thread tetap wajar (2‑4). + +**Q: How does metadata indexing affect search relevance?** +A: Metadata yang diindeks dengan baik (penulis, tanggal pembuatan, tag) dapat diberi bobot lebih tinggi dalam kueri, meningkatkan akurasi hasil. + +## Kesimpulan + +Dengan memanfaatkan fitur lanjutan ini dari GroupDocs.Search untuk Java, Anda akan **mengoptimalkan kinerja pencarian** di berbagai skenario—dari ingest dokumen yang cepat hingga kontrol metadata yang detail. Bereksperimenlah dengan konfigurasi yang berbeda, pantau penggunaan sumber daya, dan sesuaikan pengaturan dengan beban kerja spesifik Anda untuk mendapatkan hasil terbaik. + +--- + +**Terakhir Diperbarui:** 2025-12-29 +**Diuji Dengan:** GroupDocs.Search 25.4 for Java +**Penulis:** GroupDocs \ No newline at end of file diff --git a/content/italian/java/getting-started/_index.md b/content/italian/java/getting-started/_index.md new file mode 100644 index 00000000..7b536478 --- /dev/null +++ b/content/italian/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Guida passo‑passo su come configurare GroupDocs.Search per gli sviluppatori + Java, che copre l'installazione, la licenza e la creazione della tua prima soluzione + di ricerca. +title: 'Come configurare GroupDocs.Search - tutorial introduttivi per Java' +type: docs +url: /it/java/getting-started/ +weight: 1 +--- + +# Come Configurare GroupDocs.Search - Tutorial Introduttivi per Java + +Benvenuti alla guida definitiva su **come configurare GroupDocs.Search** per applicazioni Java. In questo tutorial imparerete i passaggi essenziali per installare la libreria, configurare la licenza e creare la vostra prima soluzione di documenti ricercabili. Che stiate avviando un nuovo progetto o integrando la ricerca in un codice esistente, questa panoramica vi fornisce tutto il necessario per iniziare rapidamente. + +## Risposte Rapide +- **Qual è il primo passo?** Installare il pacchetto GroupDocs.Search per Java tramite Maven o Gradle. +- **Ho bisogno di una licenza?** Sì—una licenza temporanea è sufficiente per lo sviluppo; è necessaria una licenza completa per la produzione. +- **Quale IDE è consigliato?** Qualsiasi IDE Java (IntelliJ IDEA, Eclipse, VS Code) che supporti progetti Maven/Gradle. +- **Posso indicizzare PDF e file Word?** Assolutamente—GroupDocs.Search supporta una vasta gamma di formati di documento subito pronto all'uso. +- **Quanto tempo richiede la configurazione?** Tipicamente meno di 15 minuti per un progetto nuovo. + +## Che cosa significa “come configurare GroupDocs.Search”? +La configurazione di GroupDocs.Search consiste nel preparare la libreria per indicizzare i documenti, definire le posizioni di archiviazione e applicare la chiave di licenza affinché l'API possa operare senza restrizioni. Una corretta configurazione garantisce risultati di ricerca rapidi e precisi e un'integrazione fluida con il vostro codice Java. + +## Perché configurare GroupDocs.Search per Java? +- **Implementazione rapida** – È richiesto un codice minimo per iniziare l'indicizzazione e la ricerca. +- **Indicizzazione scalabile** – Gestisce grandi collezioni di documenti senza perdita di prestazioni. +- **Ampio supporto di formati** – Funziona con PDF, DOCX, XLSX, PPTX e molti altri tipi di file. +- **Licenza sicura** – Garantisce la conformità e sblocca tutte le funzionalità premium. + +## Prerequisiti +- Java Development Kit (JDK) 8 o superiore. +- Maven 3 o Gradle 5 per la gestione delle dipendenze. +- Accesso a una chiave di licenza temporanea o completa per GroupDocs.Search. + +## Guida Passo‑Passo + +### Step 1: Aggiungi GroupDocs.Search al tuo Progetto +Includi la dipendenza GroupDocs.Search nel tuo `pom.xml` (Maven) o `build.gradle` (Gradle). Questo rende la libreria disponibile per il tuo codice. + +### Step 2: Applica la tua Licenza +Crea un oggetto `License` e carica il tuo file di licenza temporaneo o permanente. Questo passaggio sblocca tutte le funzionalità e rimuove i limiti di valutazione. + +### Step 3: Inizializza le Impostazioni dell'Indice +Definisci dove i file di indice saranno memorizzati su disco e configura le opzioni di indicizzazione personalizzate necessarie (ad esempio, sensibilità al maiuscolo/minuscolo, parole di stop). + +### Step 4: Indicizza i tuoi Documenti +Utilizza la classe `Indexer` per aggiungere file o cartelle all'indice. GroupDocs.Search rileva automaticamente i tipi di file ed estrae il testo ricercabile. + +### Step 5: Esegui una Query di Ricerca +Crea un oggetto `SearchOptions`, specifica la stringa di ricerca ed esegui la query. L'API restituisce un elenco di documenti corrispondenti con i relativi punteggi di rilevanza. + +### Step 6: Rivedi i Risultati +Itèra sui risultati della ricerca, visualizza i nomi dei file e, opzionalmente, evidenzia i termini corrispondenti nell'interfaccia utente. + +## Problemi Comuni e Soluzioni +- **Licenza non riconosciuta** – Verifica il percorso del file di licenza e assicurati che corrisponda alla versione di GroupDocs.Search in uso. +- **Formati di documento mancanti** – Installa il componente aggiuntivo opzionale `groupdocs-conversion` se hai bisogno di supporto per tipi di file meno comuni. +- **Colli di bottiglia delle prestazioni** – Usa l'indicizzazione incrementale e configura la cartella dell'indice su storage SSD per un accesso più veloce. + +## Domande Frequenti + +**D: Posso usare GroupDocs.Search su un server Linux?** +R: Sì, la libreria è indipendente dalla piattaforma e funziona su qualsiasi OS che supporti Java. + +**D: Come aggiorno l'indice dopo aver aggiunto nuovi file?** +R: Richiama nuovamente l'`Indexer` con i nuovi file; la libreria li fonderà nell'indice esistente. + +**D: È possibile limitare i risultati della ricerca a una cartella specifica?** +R: Sì, imposta `SearchOptions` per includere un filtro di cartella prima di eseguire la query. + +**D: Cosa succede se supero il periodo della licenza temporanea?** +R: L'API continuerà a funzionare in modalità valutazione con funzionalità limitate; sostituisci il file di licenza con una chiave permanente per ripristinare la piena funzionalità. + +**D: GroupDocs.Search supporta la ricerca fuzzy?** +R: Assolutamente—abilita il fuzzy matching in `SearchOptions` per ottenere risultati con lievi variazioni ortografiche. + +## Risorse Aggiuntive + +### Tutorial Disponibili + +### [Distribuisci GroupDocs.Search per Java: Guida Completa di Configurazione](./deploy-groupdocs-search-java-setup-guide/) +Scopri come distribuire e configurare GroupDocs.Search per Java con questa guida passo‑passo. Migliora l'indicizzazione dei documenti e le capacità di ricerca nei tuoi progetti. + +### Link Utili +- [Documentazione GroupDocs.Search per Java](https://docs.groupdocs.com/search/java/) +- [Riferimento API GroupDocs.Search per Java](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search per Java](https://releases.groupdocs.com/search/java/) +- [Forum GroupDocs.Search](https://forum.groupdocs.com/c/search) +- [Supporto Gratuito](https://forum.groupdocs.com/) +- [Licenza Temporanea](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Ultimo Aggiornamento:** 2025-12-29 +**Testato Con:** GroupDocs.Search 23.12 per Java +**Autore:** GroupDocs \ No newline at end of file diff --git a/content/italian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/italian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..cea3c28d --- /dev/null +++ b/content/italian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,244 @@ +--- +date: '2025-12-29' +description: Scopri come pulire la directory Java, automatizzare la gestione dei documenti + e rinominare i file utilizzando GroupDocs.Search per Java. Aumenta l'efficienza + nelle tue applicazioni. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Pulizia della directory Java – Automatizzare l'indicizzazione e la ridenominazione +type: docs +url: /it/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Pulizia Directory Java – Automatizzare l'Indicizzazione dei Documenti e la Ridenominazione con GroupDocs.Search + +Se hai bisogno di **clean directory java** mentre automatizzi l'indicizzazione e la ridenominazione dei documenti, sei nel posto giusto. Gestire manualmente spostamenti di file, cancellazioni e aggiornamenti dell'indice è soggetto a errori e richiede molto tempo. In questo tutorial ti mostreremo come far fare a Java il lavoro pesante, usando **GroupDocs.Search for Java** per creare un indice ricercabile, rinominare i file e mantenere l'indice sincronizzato automaticamente. + +## Risposte Rapide +- **Cosa significa “clean directory java”?** Eliminare tutti i file/cartelle all'interno di una directory di destinazione usando codice Java. +- **Quale libreria crea l'indice ricercabile?** GroupDocs.Search for Java. +- **Come rinominare un documento e mantenere l'indice aggiornato?** Usa `File.renameTo()` poi notifica l'indice con `Notification.createRenameNotification`. +- **Posso copiare i file dopo aver pulito la cartella?** Sì – Java Streams può copiare i file mantenendo l'indice. +- **È necessaria una licenza per la produzione?** È necessaria una licenza valida di GroupDocs.Search per l'uso commerciale. + +## Cos'è “clean directory java”? +Pulire una directory in Java significa rimuovere programmaticamente ogni file e sotto‑cartella all'interno di una cartella specificata. Questo è spesso un passo preliminare prima di copiare nuovi file o ricostruire un indice, garantendo che dati obsoleti non interferiscano con i risultati di ricerca. + +## Perché automatizzare l'indicizzazione e la ridenominazione dei documenti? +- **Automazione della gestione dei documenti** riduce lo sforzo manuale ed elimina gli errori umani. +- Un passaggio di **creazione di un indice ricercabile** ti permette di individuare istantaneamente qualsiasi documento per contenuto. +- Ridenominare i file senza aggiornare l'indice comprometterebbe la precisione della ricerca; l'automazione mantiene tutto coerente. + +## Prerequisiti + +- **GroupDocs.Search for Java** (Versione 25.4 o successiva) +- JDK 8 + e un IDE come IntelliJ IDEA o Eclipse +- Conoscenze di base di Java, in particolare I/O di file + +## Configurazione di GroupDocs.Search per Java + +### Dipendenza Maven +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Download Diretto +In alternativa, scarica l'ultima versione da [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Licenza +Ottieni una prova gratuita, una licenza di valutazione temporanea, o acquista una licenza completa per l'uso in produzione. + +### Inizializzazione di Base +Crea un'istanza `Index` che conterrà i dati ricercabili: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Guida all'Implementazione + +### 1. Aggiungere Documenti all'Indice (creare indice ricercabile) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Spiegazione*: +- `indexFolder` – dove vengono memorizzati i file dell'indice. +- `documentFolder` – la cartella sorgente che contiene i file che vuoi rendere ricercabili. + +### 2. Ridenominare un Documento e Notificare l'Indice + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Spiegazione*: +- `File.renameTo()` di Java esegue la ridenominazione fisica. +- `Notification.createRenameNotification()` informa GroupDocs.Search che il nome del file è cambiato, mantenendo l'indice accurato. + +## Clean Directory Java – Pulizia della Directory e Copia dei File + +Mantenere una cartella ordinata prima di una copia massiva previene file duplicati o orfani. Di seguito due snippet riutilizzabili. + +### Passo 1: Eliminare il Contenuto della Cartella (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Spiegazione*: +- `Files.walk()` attraversa ogni file e sotto‑cartella. +- L'ordinamento in ordine inverso garantisce che i file vengano rimossi prima delle loro directory genitore, eliminando efficacemente **delete folder contents**. + +### Passo 2: Copiare i File (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Spiegazione*: +- Lo stream filtra solo i file regolari, poi copia ciascuno nella directory di destinazione, sovrascrivendo i file esistenti se necessario. + +## Applicazioni Pratiche + +- **Enterprise Document Management** – Automatizza l'indicizzazione per migliaia di contratti e mantieni i nomi dei file sincronizzati. +- **Legal Firms** – Rinomina rapidamente i fascicoli dei casi mantenendo il contenuto ricercabile. +- **Content Management Systems** – Usa il pattern clean‑directory per aggiornare le cartelle media senza pulizia manuale. + +## Considerazioni sulle Prestazioni + +- **Dimensione dell'Indice** – Compatta periodicamente l'indice se diventa grande. +- **Utilizzo della Memoria** – Processa i file in batch per evitare `OutOfMemoryError`. +- **Concorrenza** – Per operazioni massive, considera `ExecutorService` di Java per parallelizzare pulizia e copia. + +## Problemi Comuni & Suggerimenti + +| Problema | Causa | Risoluzione | +|----------|-------|-------------| +| Ridenominazione fallita | Il file è bloccato o il percorso è non valido | Assicurati che il file non sia aperto altrove; usa `Files.move` per ridenominazioni più affidabili. | +| Indice non aggiornato | Notifica non inviata | Chiama sempre `index.notifyIndex(notification)` seguito da `index.update()`. | +| Risultati di ricerca obsoleti dopo la copia | L'indice punta ancora ai vecchi file | Ri‑aggiungi la cartella di destinazione all'indice o chiama `index.update()` dopo la copia. | + +## Domande Frequenti + +**Q: Posso pulire una directory che contiene sotto‑cartelle?** +A: Sì. L'approccio `Files.walk()` elimina ricorsivamente tutti i file e le cartelle annidate. + +**Q: Devo ricostruire l'intero indice dopo ogni ridenominazione?** +A: No. Inviare una notifica di ridenominazione e chiamare `index.update()` è sufficiente. + +**Q: Quanto grande può essere una cartella da pulire prima di raggiungere i limiti di prestazione?** +A: Dipende dalla memoria JVM; processare in batch più piccoli o usare gli stream aiuta a gestire grandi insiemi di dati. + +**Q: GroupDocs.Search è gratuito per lo sviluppo?** +A: È disponibile una prova gratuita, ma è necessaria una licenza a pagamento per l'uso in produzione. + +**Q: Posso usare questo approccio con altri tipi di file (es. PDF, DOCX)?** +A: Assolutamente. GroupDocs.Search supporta molti formati; basta aggiungere la cartella contenente quei file all'indice. + +## Conclusione + +Ora hai una soluzione completa, pronta per la produzione, per **clean directory java**, aggiungere documenti a un indice ricercabile, rinominare i file e mantenere tutto sincronizzato con GroupDocs.Search. Applica questi pattern per automatizzare il flusso di lavoro di gestione dei documenti e godere di esperienze di ricerca più rapide e affidabili. + +--- + +**Ultimo Aggiornamento:** 2025-12-29 +**Testato Con:** GroupDocs.Search 25.4 +**Autore:** GroupDocs \ No newline at end of file diff --git a/content/italian/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/italian/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..e7e7be33 --- /dev/null +++ b/content/italian/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Scopri come gestire le password dei documenti Java con GroupDocs.Search, + creare indici ricercabili e cercare in modo efficiente tra più documenti. +keywords: +- manage document passwords java +- search across multiple documents +title: Gestire le password dei documenti Java con GroupDocs.Search +type: docs +url: /it/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Gestire le password dei documenti Java con GroupDocs.Search + +Nelle moderne applicazioni aziendali, **manage document passwords Java** è un passaggio cruciale per mantenere i file sensibili al sicuro pur consentendo una ricerca veloce e affidabile. In questa guida mostreremo come creare e gestire gli indici con GroupDocs.Search, memorizzare le password in modo sicuro nel dizionario dell'indice e poi **search across multiple documents** con facilità. Che tu stia costruendo un sistema di gestione dei documenti o aggiungendo la ricerca a un'app Java esistente, i passaggi seguenti ti metteranno subito in funzione. + +## Risposte rapide +- **What does “manage document passwords Java” mean?** Si riferisce alla memorizzazione e al recupero delle password per i file protetti direttamente nell'indice di ricerca. +- **Can I index password‑protected files?** Sì—aggiungi le password al dizionario dell'indice prima dell'indicizzazione. +- **How many documents can I search at once?** GroupDocs.Search può **search across multiple documents** in una singola query. +- **Do I need a license for production?** È necessaria una licenza per l'uso in produzione; è disponibile una prova gratuita per la valutazione. +- **What Java version is required?** JDK 8 o versioni successive. + +## Cos'è “manage document passwords Java”? +Memorizzare le password dei documenti all'interno dell'indice di ricerca consente al motore di aprire automaticamente i file protetti durante l'indicizzazione e la ricerca, eliminando la necessità di inserire manualmente la password ogni volta. + +## Perché usare GroupDocs.Search per questo compito? +- **Built‑in password dictionary** – mantieni le password associate ai percorsi dei file. +- **High‑performance indexing** – gestisci migliaia di file rapidamente. +- **Rich query language** – supporta ricerche complesse su molti tipi di documenti. + +## Prerequisiti +- **JDK 8+** installato. +- **Maven** per la gestione delle dipendenze. +- Conoscenze di base di Java (gestione dei file, classi). + +## Configurazione di GroupDocs.Search per Java + +Aggiungi il repository e la dipendenza al tuo `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Puoi anche scaricare la libreria direttamente dalla pagina di rilascio ufficiale: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Inizializzare l'indice + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Come gestire le password dei documenti Java? + +### 1. Definire la cartella dell'indice e creare l'indice +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Cancellare le password esistenti (se presenti) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Aggiungere una password per un documento specifico +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Recuperare e rimuovere una password +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Aggiungere password a più documenti +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Come indicizzare documenti con password? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Come cercare tra più documenti? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Applicazioni pratiche +- **Enterprise Document Management** – archivi sicuri e ricercabili. +- **Content Management Platforms** – recupero rapido di risorse protette. +- **Legal Document Repositories** – mantenere la riservatezza consentendo la ricerca full‑text. + +## Considerazioni sulle prestazioni +- **Parallel Indexing** – utilizza più thread per grandi lotti. +- **Memory Monitoring** – tieni sotto controllo l'heap JVM durante import massivi. +- **Regular Index Maintenance** – reindicizza quando i file cambiano o le password vengono aggiornate. + +## Conclusione +Ora sai come **manage document passwords Java** con GroupDocs.Search, creare indici robusti e eseguire potenti **search across multiple documents**. Integrando questi passaggi nella tua applicazione, offrirai esperienze di ricerca sicure, veloci e scalabili. + +**Prossimi passi** +- Prova operatori di query avanzati (wildcard, ricerca fuzzy). +- Esplora l'indicizzazione incrementale per aggiornamenti in tempo reale. +- Combina con altri prodotti GroupDocs per la conversione PDF o l'annotazione. + +## Domande frequenti + +**Q: Posso indicizzare grandi volumi di documenti?** +A: Sì, GroupDocs.Search è progettato per gestire collezioni estese in modo efficiente. + +**Q: È possibile aggiornare un indice esistente con nuovi documenti?** +A: Assolutamente! Puoi aggiungere o rimuovere documenti dal tuo indice secondo necessità. + +**Q: Come garantisco la sicurezza dei dati indicizzati?** +A: Usa il dizionario delle password dei documenti e memorizza l'indice in una directory protetta. + +**Q: GroupDocs.Search può gestire diversi formati di file?** +A: Sì, supporta PDF, file Word, fogli Excel e molti altri formati comuni. + +**Q: Cosa fare se incontro problemi di prestazioni durante l'indicizzazione?** +A: Considera l'abilitazione dell'elaborazione parallela, l'aumento della dimensione dell'heap o la messa a punto delle impostazioni dell'indice. + +--- + +**Ultimo aggiornamento:** 2025-12-29 +**Testato con:** GroupDocs.Search 25.4 per Java +**Autore:** GroupDocs + +**Risorse** +- [Documentazione](https://docs.groupdocs.com/search/java/) +- [Riferimento API](https://reference.groupdocs.com/search/java) +- [Scarica GroupDocs.Search per Java](https://releases.groupdocs.com/search/java/) +- [Repository GitHub](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/italian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/italian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..ca7a63e6 --- /dev/null +++ b/content/italian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Scopri come indicizzare documenti Java e creare un indice di ricerca + con GroupDocs.Search per Java. Questa guida copre configurazione, indicizzazione, + ricerca e gestione efficiente dei documenti. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Come indicizzare documenti Java con GroupDocs.Search – Ricerca efficiente +type: docs +url: /it/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Come indicizzare documenti Java con GroupDocs.Search – Ricerca efficiente + +## Introduzione + +Sei sopraffatto da una grande quantità di documenti e ti chiedi **how to index java** file rapidamente? Molte aziende e privati affrontano questa sfida quotidianamente. **GroupDocs.Search for Java** offre una soluzione efficiente per semplificare le ricerche di documenti, rendendo il processo più veloce e gestibile. + +In questo tutorial, ti guideremo nell'utilizzo di GroupDocs.Search for Java per creare un repository indicizzato dei tuoi documenti. Imparerai come caricare i documenti da un file system, eseguire ricerche, gestire le cancellazioni e recuperare i dati indicizzati in modo efficiente e scalabile. + +**Cosa imparerai:** +- Configurare e impostare GroupDocs.Search for Java. +- **Creare un indice di ricerca** e indicizzare documenti da stream. +- Caricare i documenti dal file system. +- **Eseguire una ricerca per parole chiave** sul tuo indice. +- **Come eliminare l'indice** per documenti specifici. +- Recuperare i documenti indicizzati dopo le cancellazioni. + +Pronto a rivoluzionare il modo in cui gestisci le ricerche di documenti? Iniziamo con i prerequisiti! + +## Risposte rapide +- **Qual è lo scopo principale?** Indicizzare e cercare documenti Java in modo efficiente. +- **Quale libreria è necessaria?** GroupDocs.Search for Java (v25.4+). +- **Ho bisogno di una licenza?** È disponibile una prova gratuita o una licenza temporanea; è necessaria una licenza permanente per la produzione. +- **Posso eliminare documenti dall'indice?** Sì, usando il metodo `delete` con le chiavi dei documenti. +- **Apache Commons IO è obbligatorio?** È consigliato per le utility di gestione dei file. + +## Cos'è “how to index java”? +Indicizzare documenti Java significa creare una struttura dati ricercabile (un indice) che mappa il contenuto del documento a termini ricercabili, consentendo un recupero rapido dei file pertinenti in base a query di parole chiave. + +## Perché usare GroupDocs.Search for Java? +- **Velocità:** Algoritmi ottimizzati forniscono risultati di query rapidi anche su collezioni di grandi dimensioni. +- **Scalabilità:** Gestisce migliaia di documenti senza sacrificare le prestazioni. +- **Flessibilità:** Supporta vari formati di file e offre caricamento lazy per file di grandi dimensioni. +- **Facilità di integrazione:** Configurazione Maven semplice e API chiara. + +## Prerequisiti + +Prima di iniziare, assicurati di avere quanto segue: + +### Librerie e dipendenze richieste +- **GroupDocs.Search for Java**: Assicurati che sia installata la versione 25.4 o successiva. +- **Apache Commons IO**: Necessario per le utility di gestione dei file. + +### Requisiti di configurazione dell'ambiente +- Java Development Kit (JDK) 8 o superiore. +- Integrated Development Environment (IDE) come IntelliJ IDEA o Eclipse. + +### Prerequisiti di conoscenza +- Comprensione di base della programmazione Java e dei concetti orientati agli oggetti. +- Familiarità con Maven per la gestione delle dipendenze è utile ma non obbligatoria. + +## Configurare GroupDocs.Search per Java + +Configurare l'ambiente del tuo progetto con GroupDocs.Search richiede i seguenti passaggi usando Maven: + +**Configurazione Maven:** +Aggiungi il repository e la dipendenza seguenti al tuo file `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Download diretto:** +In alternativa, scarica l'ultima versione direttamente da [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Passaggi per l'acquisizione della licenza +- **Prova gratuita:** Inizia con una prova gratuita per testare le sue funzionalità. +- **Licenza temporanea:** Richiedi una licenza temporanea per esplorare tutte le funzionalità senza limitazioni. +- **Acquisto:** Considera l'acquisto se soddisfa le tue esigenze. + +**Inizializzazione e configurazione di base:** + +Una volta pronto l'ambiente, inizializza GroupDocs.Search così: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Come indicizzare documenti Java usando GroupDocs.Search + +### Creazione e indicizzazione dei documenti + +**Panoramica:** Scopri come creare un indice in una cartella specificata e aggiungere documenti da stream, semplificando il processo di **creare indice di ricerca**. + +#### Passo 1: Creare un indice +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parametri:** Il primo parametro è il percorso della directory per memorizzare gli indici. Il secondo booleano abilita l'aggiornamento automatico dell'indice se esiste. + +#### Passo 2: Caricare e aggiungere documenti dallo stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Spiegazione:** Qui, crei un `DocumentLoader` per leggere il file e prepararlo per l'indicizzazione. Il metodo `createLazy` è usato per gestire file di grandi dimensioni in modo efficiente. + +### Caricamento dei documenti dal file system + +**Panoramica:** Implementa un loader personalizzato che legge i documenti direttamente dal tuo file system usando le utility di Apache Commons IO. + +#### Passo 1: Definire il Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Dettagli:** Questa classe legge il file in un array di byte e crea un oggetto `Document` da esso. + +### Eseguire una ricerca per parole chiave in un indice + +**Panoramica:** Esegui operazioni di ricerca sui tuoi documenti indicizzati per recuperare rapidamente le informazioni pertinenti. + +#### Passo 1: Eseguire la ricerca +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Spiegazione:** Usa il metodo `search` con una semplice query di testo per ottenere risultati dai tuoi dati indicizzati. Questo approccio è efficiente per scenari di **java document search**. + +### Come eliminare le voci dell'indice + +**Panoramica:** Gestisci il tuo indice eliminando documenti specifici usando le loro chiavi. + +#### Passo 1: Eliminare il documento +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parametri:** Passa l'array di chiavi dei documenti che desideri rimuovere dall'indice. `UpdateOptions` consente strategie di cancellazione flessibili. + +### Recuperare i documenti indicizzati dopo la cancellazione + +**Panoramica:** Dopo aver eliminato i documenti, recupera un elenco dei file indicizzati rimanenti per garantire l'integrità dei dati. + +#### Passo 1: Ottenere i documenti rimanenti +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Spiegazione:** Questo passaggio aiuta a verificare lo stato attuale del tuo indice dopo eventuali cancellazioni. + +## Applicazioni pratiche + +GroupDocs.Search for Java è versatile, offrendo numerosi casi d'uso come: + +1. **Gestione documentale aziendale:** Ricerca rapidamente i documenti aziendali per migliorare la produttività. +2. **Analisi di documenti legali:** Setaccia efficacemente fascicoli e testi legali per trovare precedenti pertinenti. +3. **Sistemi di catalogazione di biblioteca:** Indicizza e gestisci grandi collezioni di libri e manoscritti per un accesso più semplice. + +## Considerazioni sulle prestazioni + +Per prestazioni ottimali: + +- **Ottimizzazione dell'indice:** Aggiorna regolarmente il tuo indice per riflettere le modifiche recenti nei documenti. +- **Gestione della memoria:** Usa efficacemente il garbage collection di Java gestendo operazioni che consumano molte risorse. +- **Scalabilità:** Assicurati che la tua strategia di indicizzazione possa gestire grandi volumi di dati senza degradare le prestazioni. + +## Problemi comuni e soluzioni + +| Problema | Causa | Soluzione | +|----------|-------|-----------| +| **Nessun risultato restituito** | Termini di query non indicizzati o parole stop filtrate | Verifica `IndexingOptions` e regola l'elenco delle parole stop | +| **Errori di out‑of‑memory** | Caricamento di file molto grandi senza lazy loading | Usa `Document.createLazy` o aumenta la dimensione dell'heap JVM | +| **I documenti eliminati appaiono ancora** | Indice non aggiornato dopo la cancellazione | Chiama `index.optimize()` o riapri l'indice | + +## Domande frequenti + +**D: Posso indicizzare PDF, DOCX e PPTX insieme?** +R: Sì, GroupDocs.Search supporta una vasta gamma di formati pronti all'uso. + +**D: Come funziona “how to delete index” internamente?** +R: Il metodo `delete` rimuove le voci in base alle chiavi dei documenti e aggiorna le liste di posting interne per mantenere l'indice coerente. + +**D: Esiste un modo per monitorare la dimensione dell'indice?** +R: Usa `index.getStatistics()` per ottenere informazioni sul conteggio dei documenti e sulla dimensione di archiviazione. + +**D: Devo ricostruire l'intero indice dopo ogni cancellazione?** +R: No, l'operazione `delete` aggiorna l'indice in modo incrementale, preservando i dati esistenti. + +**D: Cosa succede se devo re‑indicizzare tutti i documenti dopo una modifica dello schema?** +R: Crea una nuova istanza `Index` con un percorso di cartella diverso e ri‑aggiungi tutti i documenti. + +## Conclusione + +A questo punto, dovresti avere una solida comprensione di **how to index java** documenti e di come eseguire ricerche rapide usando GroupDocs.Search for Java. Questa potente libreria può trasformare il modo in cui gestisci e recuperi informazioni da grandi collezioni di documenti, rendendola uno strumento indispensabile per qualsiasi organizzazione. + +**Passi successivi:** +- Sperimenta con diversi tipi di documenti e query complesse. +- Esplora funzionalità avanzate come la ricerca facettata, l'indicizzazione dei metadati e gli analizzatori personalizzati. + +Pronto a iniziare il tuo percorso di indicizzazione? Implementa queste tecniche oggi e sperimenta un recupero di documenti più veloce e accurato! + +--- + +**Ultimo aggiornamento:** 2025-12-29 +**Testato con:** GroupDocs.Search Java 25.4 +**Autore:** GroupDocs \ No newline at end of file diff --git a/content/italian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/italian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..17d27585 --- /dev/null +++ b/content/italian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,278 @@ +--- +date: '2025-12-29' +description: Scopri come ottimizzare le prestazioni di ricerca utilizzando le funzionalità + avanzate di indicizzazione di GroupDocs.Search per Java, inclusi annullamento, operazioni + asincrone, multithreading e personalizzazione dei metadati. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Ottimizza le prestazioni di ricerca con tecniche di indicizzazione avanzate + in GroupDocs.Search per Java +type: docs +url: /it/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Ottimizzare le prestazioni di ricerca con tecniche di indicizzazione avanzate in GroupDocs.Search per Java + +Nell'attuale ambiente digitale frenetico, **ottimizzare le prestazioni di ricerca** è fondamentale per fornire risultati istantanei agli utenti. Che tu stia costruendo un motore di ricerca personalizzato o migliorando un sistema di gestione documenti esistente, la giusta strategia di indicizzazione può ridurre drasticamente latenza e consumo di risorse. In questo tutorial esamineremo le funzionalità più potenti di GroupDocs.Search per Java — cancellazione, indicizzazione asincrona, multithreading e personalizzazione dei metadati — così potrai **add documents index** più rapidamente ed efficientemente. + +**Cosa imparerai** + +- Come annullare un'operazione di indicizzazione dopo un tempo specificato +- Eseguire operazioni di indicizzazione asincrone e gestire i cambiamenti di stato +- Configurare il multithreading per un'indicizzazione più veloce +- Personalizzare le opzioni di indicizzazione dei metadati + +Assicuriamoci di avere tutto il necessario prima di immergerci nel codice. + +## Prerequisiti + +- **GroupDocs.Search Library** – versione 25.4 o successiva. +- **Java Development Environment** – JDK 8 o superiore è consigliato. +- Familiarità di base con Java e il concetto di indicizzazione. + +### Configurazione di GroupDocs.Search per Java + +#### Installazione con Maven + +Add the repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Download diretto + +In alternativa, scarica l'ultimo JAR da [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**Acquisizione della licenza** – Inizia con una prova gratuita o richiedi una licenza temporanea per sbloccare l'intero set di funzionalità. + +### Inizializzazione e configurazione di base + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Risposte rapide + +- **Cosa fa la cancellazione?** Interrompe l'indicizzazione dopo un tempo impostato per liberare risorse. +- **Posso indicizzare i documenti in modo asincrono?** Sì – imposta `options.setAsync(true)`. +- **Quanti thread posso usare?** Qualsiasi intero positivo; valori tipici sono 2‑4 per la maggior parte dei server. +- **L'indicizzazione dei metadati è opzionale?** Assolutamente – puoi abilitarla o regolarla per campo. +- **È necessaria una licenza per queste funzionalità?** Una prova funziona per i test; è necessaria una licenza completa per la produzione. + +## Cosa significa “Ottimizzare le prestazioni di ricerca” in questo contesto? + +Ottimizzare le prestazioni di ricerca significa configurare il processo di indicizzazione in modo che consumi la giusta quantità di CPU, memoria e tempo, fornendo al contempo i risultati più pertinenti istantaneamente. Controllando la cancellazione, l'esecuzione asincrona, il threading e la gestione dei metadati, influenzi direttamente la rapidità con cui il motore può **add documents index** e rispondere alle query. + +## Perché utilizzare le funzionalità avanzate di indicizzazione? + +- **Latenza ridotta** – L'indicizzazione asincrona e multithread mantiene la tua applicazione reattiva. +- **Migliore gestione delle risorse** – La cancellazione previene processi incontrollati. +- **Rilevanza di ricerca personalizzata** – Le opzioni dei metadati ti permettono di evidenziare le informazioni più importanti. + +## Guida all'implementazione + +### Proprietà di cancellazione + +**Panoramica** – Annulla l'indicizzazione dopo una durata specificata per evitare un consumo eccessivo di risorse. + +#### Passo 1: Configurare l'ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Passo 2: Creare le opzioni di indicizzazione con cancellazione + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Punti chiave** + +- `setCancellation()` attiva la funzionalità. +- `cancelAfter(int milliseconds)` definisce il timeout (3 secondi in questo esempio). + +### Proprietà asincrona + +**Panoramica** – Esegui l'indicizzazione su un thread in background e ascolta i cambiamenti di stato. + +#### Passo 1: Configurare l'ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Passo 2: Sottoscrivere l'evento StatusChanged + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Passo 3: Configurare le opzioni asincrone + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Proprietà dei thread + +**Panoramica** – Accelerare l'indicizzazione sfruttando più core CPU. + +#### Passo 1: Configurare l'ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Passo 2: Configurare il multithreading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Proprietà delle opzioni di indicizzazione dei metadati + +**Panoramica** – Regola finemente quali metadati del documento vengono indicizzati e come vengono memorizzati. + +#### Passo 1: Configurare l'ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Passo 2: Configurare le opzioni dei metadati + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Applicazioni pratiche + +1. **Sistemi di gestione documenti** – Usa l'indicizzazione asincrona per mantenere l'interfaccia utente reattiva mentre grandi lotti vengono elaborati in background. +2. **Motori di ricerca di contenuti** – Applica la cancellazione per impedire che lavori di lunga durata monopolizzino le risorse del server durante i picchi di traffico. +3. **Pipeline di ingestione su larga scala** – Sfrutta il multithreading per **add documents index** su larga scala, riducendo drasticamente il tempo di elaborazione. + +## Considerazioni sulle prestazioni + +- **Gestione dei thread** – Monitora l'uso della CPU; troppi thread possono causare overhead di cambio contesto. +- **Impronta di memoria** – I limiti dei metadati (ad es., `setMaxBytesToIndexField`) aiutano a mantenere prevedibile l'uso della memoria. +- **Garbage Collection** – Usa i flag JVM appropriati (`-Xmx`, `-XX:+UseG1GC`) durante l'indicizzazione di corpora massivi. + +## Problemi comuni e soluzioni + +| Sintomo | Probabile causa | Risoluzione | +|---------|-----------------|-------------| +| L'indicizzazione non termina mai | Cancellazione impostata troppo bassa | Aumenta il valore di `cancelAfter` o rimuovi la cancellazione per lavori lunghi | +| Nessun aggiornamento di stato in modalità asincrona | Gestore eventi non collegato correttamente | Assicurati che `index.getEvents().StatusChanged.add(...)` sia chiamato prima di `index.add` | +| Errori di out‑of‑memory | Troppi thread o limiti di metadati troppo alti | Riduci `options.setThreads` e abbassa i limiti dei campi dei metadati | +| Metadati mancanti nei risultati | Indicizzazione dei metadati disabilitata | Verifica che `options.getMetadataIndexingOptions()` sia configurato e non impostato per ignorare i campi | + +## Domande frequenti + +**D: Come posso ottenere una licenza temporanea per GroupDocs.Search?** +R: Visita la [pagina della licenza temporanea di GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**D: Posso annullare un'operazione di indicizzazione a metà?** +R: Sì – usa la proprietà di cancellazione con `cancelAfter()` o chiama `Cancellation.cancel()` programmaticamente. + +**D: Quali sono alcuni casi d'uso per l'indicizzazione asincrona?** +R: Recupero di documenti in tempo reale, elaborazione batch in background e applicazioni con interfaccia utente reattiva beneficiano dell'indicizzazione asincrona. + +**D: È sicuro aumentare il numero di thread su un server condiviso?** +R: Incrementa gradualmente e monitora il carico CPU; in ambienti molto condivisi, mantieni il numero di thread moderato (2‑4). + +**D: Come influisce l'indicizzazione dei metadati sulla rilevanza della ricerca?** +R: I metadati indicizzati correttamente (autore, data di creazione, tag) possono avere un peso maggiore nelle query, migliorando l'accuratezza dei risultati. + +## Conclusione + +Adottando queste funzionalità avanzate di GroupDocs.Search per Java, **ottimizzerai le prestazioni di ricerca** in una varietà di scenari — dall'ingestione rapida di documenti al controllo fine dei metadati. Sperimenta con diverse configurazioni, monitora l'uso delle risorse e adatta le impostazioni al tuo carico di lavoro specifico per ottenere i migliori risultati. + +--- + +**Ultimo aggiornamento:** 2025-12-29 +**Testato con:** GroupDocs.Search 25.4 per Java +**Autore:** GroupDocs \ No newline at end of file diff --git a/content/japanese/java/getting-started/_index.md b/content/japanese/java/getting-started/_index.md new file mode 100644 index 00000000..cfbe6757 --- /dev/null +++ b/content/japanese/java/getting-started/_index.md @@ -0,0 +1,96 @@ +--- +date: 2025-12-29 +description: Java開発者向けにGroupDocs.Searchの設定方法をステップバイステップで解説し、インストール、ライセンス、そして最初の検索ソリューションの作成について説明します。 +title: GroupDocs.Search の設定方法 - Java 用入門チュートリアル +type: docs +url: /ja/java/getting-started/ +weight: 1 +--- + +# GroupDocs.Search の設定方法 - Java 用入門チュートリアル + +Java アプリケーション向けに **GroupDocs.Search の設定方法** を解説する究極のガイドへようこそ。このチュートリアルでは、ライブラリのインストール、ライセンス設定、最初の検索可能ドキュメントソリューションの構築手順を学びます。新規プロジェクトを開始する場合でも、既存コードベースに検索機能を統合する場合でも、すぐに使い始めるために必要なすべてがここにあります。 + +## クイック回答 +- **最初のステップは?** Maven または Gradle を使用して GroupDocs.Search Java パッケージをインストールします。 +- **ライセンスは必要ですか?** はい。開発時は一時ライセンスで問題ありませんが、本番環境では正式ライセンスが必要です。 +- **どの IDE が最適ですか?** Maven/Gradle プロジェクトをサポートする任意の Java IDE(IntelliJ IDEA、Eclipse、VS Code)で構いません。 +- **PDF や Word ファイルもインデックスできますか?** もちろんです。GroupDocs.Search は多数のドキュメント形式を標準でサポートしています。 +- **設定にどれくらい時間がかかりますか?** 新規プロジェクトの場合、通常 15 分未満で完了します。 + +## 「GroupDocs.Search の設定方法」とは? +GroupDocs.Search の設定とは、ライブラリをドキュメントのインデックス作成に備え、ストレージ場所を定義し、ライセンスキーを適用して API が制限なく動作できるようにすることです。適切な設定により、迅速かつ正確な検索結果が得られ、Java コードとのスムーズな統合が実現します。 + +## なぜ Java 向けに GroupDocs.Search を設定するのか? +- **迅速な実装** – インデックス作成と検索を開始するために必要なコードは最小限です。 +- **スケーラブルなインデックス** – パフォーマンス低下なしに大量のドキュメントコレクションを処理できます。 +- **幅広いフォーマット対応** – PDF、DOCX、XLSX、PPTX など多数のファイルタイプに対応。 +- **安全なライセンス管理** – コンプライアンスを保証し、すべてのプレミアム機能を解放します。 + +## 前提条件 +- Java Development Kit (JDK) 8 以上。 +- 依存関係管理のための Maven 3 または Gradle 5。 +- 一時または正式な GroupDocs.Search ライセンスキーへのアクセス。 + +## 手順別ガイド + +### 手順 1: プロジェクトに GroupDocs.Search を追加 +`pom.xml`(Maven)または `build.gradle`(Gradle)に GroupDocs.Search の依存関係を記述します。これにより、ライブラリがコードから利用可能になります。 + +### 手順 2: ライセンスを適用 +`License` オブジェクトを作成し、一時または永続ライセンスファイルをロードします。この手順でフル機能が解放され、評価制限が解除されます。 + +### 手順 3: インデックス設定を初期化 +インデックスファイルをディスク上のどこに保存するかを指定し、必要に応じてカスタムインデックスオプション(例:大文字小文字の区別、ストップワード)を設定します。 + +### 手順 4: ドキュメントをインデックス化 +`Indexer` クラスを使用してファイルまたはフォルダーをインデックスに追加します。GroupDocs.Search は自動的にファイルタイプを検出し、検索可能なテキストを抽出します。 + +### 手順 5: 検索クエリを実行 +`SearchOptions` オブジェクトを作成し、クエリ文字列を指定して検索を実行します。API は一致したドキュメントのリストと関連度スコアを返します。 + +### 手順 6: 結果を確認 +検索結果をイテレートし、ファイル名を表示するとともに、必要に応じて UI 上で一致した語句をハイライトします。 + +## よくある問題と解決策 +- **ライセンスが認識されない** – ライセンスファイルのパスを確認し、使用している GroupDocs.Search のバージョンと一致しているか確認してください。 +- **ドキュメント形式が不足している** – まれなファイルタイプが必要な場合は、オプションの `groupdocs-conversion` アドオンをインストールします。 +- **パフォーマンスのボトルネック** – 増分インデックスを使用し、インデックスフォルダーを SSD ストレージ上に配置して高速アクセスを実現します。 + +## FAQ(よくある質問) + +**Q: Linux サーバーで GroupDocs.Search を使用できますか?** +A: はい。ライブラリはプラットフォームに依存せず、Java をサポートする任意の OS で動作します。 + +**Q: 新しいファイルを追加した後、インデックスをどう更新しますか?** +A: 新規ファイルを指定して `Indexer` を再度呼び出すだけです。ライブラリが既存インデックスにマージします。 + +**Q: 特定のフォルダーに検索結果を限定する方法はありますか?** +A: はい。クエリ実行前に `SearchOptions` にフォルダーフィルターを設定します。 + +**Q: 一時ライセンス期間が終了したらどうなりますか?** +A: API は評価モードで動作し、一部機能が制限されます。永続ライセンスキーに差し替えることでフル機能が復元されます。 + +**Q: GroupDocs.Search はファジー検索をサポートしていますか?** +A: もちろんです。`SearchOptions` でファジーマッチングを有効にすれば、軽微なスペルミスを含む結果も取得できます。 + +## 追加リソース + +### 利用可能なチュートリアル + +### [GroupDocs.Search for Java のデプロイ:包括的セットアップガイド](./deploy-groupdocs-search-java-setup-guide/) +このステップバイステップガイドで、Java 向け GroupDocs.Search のデプロイと設定方法を学び、プロジェクトのドキュメントインデックス化と検索機能を強化しましょう。 + +### 便利なリンク +- [GroupDocs.Search for Java ドキュメンテーション](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API リファレンス](https://reference.groupdocs.com/search/java/) +- [GroupDocs.Search for Java ダウンロード](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search フォーラム](https://forum.groupdocs.com/c/search) +- [無料サポート](https://forum.groupdocs.com/) +- [一時ライセンス取得](https://purchase.groupdocs.com/temporary-license/) + +--- + +**最終更新日:** 2025-12-29 +**テスト環境:** GroupDocs.Search 23.12 for Java +**作成者:** GroupDocs \ No newline at end of file diff --git a/content/japanese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/japanese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..60271fa6 --- /dev/null +++ b/content/japanese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,242 @@ +--- +date: '2025-12-29' +description: Javaでディレクトリをクリーンアップし、文書管理の自動化を行い、GroupDocs.Search for Javaを使用してファイルの名前を変更する方法を学びましょう。アプリケーションの効率を向上させます。 +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: クリーンディレクトリ Java – インデックス作成とリネームの自動化 +type: docs +url: /ja/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automate Document Indexing and Renaming Using GroupDocs.Search + +## Quick Answers +- **“clean directory java” とは何ですか?** Java コードで対象ディレクトリ内のすべてのファイル/フォルダーを削除することです。 +- **検索可能インデックスを作成するライブラリはどれですか?** GroupDocs.Search for Java。 +- **ドキュメントの名前を変更し、インデックスを更新するには?** `File.renameTo()` を使用し、その後 `Notification.createRenameNotification` でインデックスに通知します。 +- **フォルダーをクリーンした後にファイルをコピーできますか?** はい – Java Streams を使ってインデックスを保持しながらコピーできます。 +- **本番環境でライセンスは必要ですか?** 商用利用には有効な GroupDocs.Search ライセンスが必要です。 + +## “clean directory java” とは? +Java でディレクトリをクリーンするとは、指定したフォルダー内のすべてのファイルとサブフォルダーをプログラム上で削除することを指します。これは新しいファイルをコピーしたりインデックスを再構築したりする前提条件となり、古いデータが検索結果に影響しないようにします。 + +## なぜドキュメントのインデックス作成とリネームを自動化するのか? +- **ドキュメント管理の自動化** により手作業が減り、人為的ミスが排除されます。 +- **検索可能インデックスの作成** によって、コンテンツで即座にドキュメントを検索できます。 +- ファイル名を変更してインデックスを更新しないと検索精度が低下しますが、自動化すれば常に整合性が保たれます。 + +## 前提条件 + +- **GroupDocs.Search for Java**(バージョン 25.4 以降) +- JDK 8 + と IntelliJ IDEA または Eclipse などの IDE +- 基本的な Java 知識(特にファイル I/O) + +## GroupDocs.Search for Java の設定 + +### Maven 依存関係 +`pom.xml` にリポジトリと依存関係を追加します: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### 直接ダウンロード +あるいは、[GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) から最新バージョンをダウンロードしてください。 + +### ライセンス +無料トライアル、評価用一時ライセンス、または本番用のフルライセンスを取得します。 + +### 基本的な初期化 +検索可能データを保持する `Index` インスタンスを作成します: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## 実装ガイド + +### 1. ドキュメントをインデックスに追加(検索可能インデックスの作成) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*説明*: +- `indexFolder` – インデックスファイルが保存される場所。 +- `documentFolder` – 検索可能にしたいファイルが格納されたソースフォルダー。 + +### 2. ドキュメントをリネームし、インデックスに通知 + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*説明*: +- Java の `File.renameTo()` が実際のリネームを行います。 +- `Notification.createRenameNotification()` がファイル名変更を GroupDocs.Search に伝え、インデックスの正確性を保ちます。 + +## Clean Directory Java – ディレクトリのクリーンとファイルコピー + +大量コピーの前にフォルダーを整理しておくと、重複や孤立ファイルを防げます。以下は再利用可能な 2 つのスニペットです。 + +### 手順 1: フォルダー内容の削除(delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*説明*: +- `Files.walk()` がすべてのファイルとサブフォルダーを走査します。 +- 逆順にソートすることで、親ディレクトリより先にファイルが削除され、**delete folder contents** が正しく実行されます。 + +### 手順 2: ファイルのコピー(copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*説明*: +- ストリームは通常ファイルのみをフィルタし、必要に応じて既存ファイルを上書きしながらターゲットディレクトリへコピーします。 + +## 実用例 + +- **エンタープライズ文書管理** – 数千件の契約書のインデックス化を自動化し、ファイル名とインデックスを同期させます。 +- **法律事務所** – ケースファイルをすばやくリネームし、検索可能なコンテンツを保持します。 +- **コンテンツ管理システム** – 手動クリーンアップなしでメディアフォルダーをリフレッシュするために clean‑directory パターンを使用します。 + +## パフォーマンス上の考慮点 + +- **インデックスサイズ** – 大きくなりすぎたら定期的にインデックスを圧縮します。 +- **メモリ使用量** – `OutOfMemoryError` を防ぐためにバッチ処理を行います。 +- **並行処理** – 大量操作の場合、Java の `ExecutorService` を利用してクリーンとコピーを並列化することを検討してください。 + +## よくある問題と対策 + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Frequently Asked Questions + +**Q: サブフォルダーを含むディレクトリもクリーンできますか?** +A: はい。`Files.walk()` アプローチはネストされたすべてのファイルとフォルダーを再帰的に削除します。 + +**Q: 各リネームごとにインデックス全体を再構築する必要がありますか?** +A: いいえ。リネーム通知を送信し、`index.update()` を呼び出すだけで十分です。 + +**Q: パフォーマンス上の限界に達する前に、どれくらいのサイズのフォルダーをクリーンできますか?** +A: JVM のメモリ量に依存します。小さなバッチに分割したり、ストリームを活用したりすると大規模データでも管理しやすくなります。 + +**Q: GroupDocs.Search は開発用に無料ですか?** +A: 無料トライアルは利用可能ですが、本番環境での使用には有料ライセンスが必要です。 + +**Q: PDF や DOCX など他のファイル形式でもこの手法は使えますか?** +A: もちろんです。GroupDocs.Search は多数のフォーマットをサポートしているので、対象フォルダーにそれらのファイルを入れるだけでインデックスに追加できます。 + +## 結論 + +これで **clean directory java** の完全な本番対応ソリューションが完成しました。ドキュメントを検索可能インデックスに追加し、ファイルをリネームし、GroupDocs.Search と自動的に同期させる方法をご理解いただけたと思います。これらのパターンを活用して文書管理ワークフローを自動化し、より高速で信頼性の高い検索体験を実現してください。 + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/japanese/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/japanese/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..f229009e --- /dev/null +++ b/content/japanese/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,168 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search を使用して Java で文書パスワードを管理し、検索可能なインデックスを作成し、複数の文書を効率的に検索する方法を学びましょう。 +keywords: +- manage document passwords java +- search across multiple documents +title: GroupDocs.Search を使用した Java でのドキュメントパスワード管理 +type: docs +url: /ja/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# GroupDocs.Search を使用した Java のドキュメントパスワード管理 + +最新のエンタープライズアプリケーションでは、**manage document passwords Java** は機密ファイルを安全に保ちつつ、迅速で信頼性の高い検索を可能にする重要なステップです。このガイドでは、GroupDocs.Search を使ってインデックスを作成・管理し、インデックス辞書にパスワードを安全に保存し、さらに **search across multiple documents** を簡単に実行する方法を紹介します。ドキュメント管理システムを構築する場合でも、既存の Java アプリに検索機能を追加する場合でも、以下の手順で素早く環境を整えることができます。 + +## Quick Answers +- **“manage document passwords Java” とは何ですか?** 保護されたファイルのパスワードを検索インデックス内に保存・取得することを指します。 +- **パスワード保護されたファイルをインデックス化できますか?** はい—インデックス化する前にパスワードをインデックス辞書に追加します。 +- **一度に何件のドキュメントを検索できますか?** GroupDocs.Search は **search across multiple documents** を単一クエリで実行できます。 +- **本番環境でライセンスは必要ですか?** 本番利用にはライセンスが必要です。評価用の無料トライアルが利用可能です。 +- **必要な Java バージョンは?** JDK 8 以上。 + +## “manage document passwords Java” とは? +検索インデックス内にドキュメントのパスワードを保存すると、インデックス作成や検索時にエンジンが自動的に保護されたファイルを開くことができ、毎回手動でパスワードを入力する手間が省けます。 + +## なぜ GroupDocs.Search を使うのか? +- **組み込みのパスワード辞書** – ファイルパスに紐付いたパスワードを管理。 +- **高性能インデックス作成** – 数千件のファイルを高速に処理。 +- **リッチなクエリ言語** – 多種多様なドキュメントタイプに対する複雑な検索をサポート。 + +## 前提条件 +- **JDK 8+** がインストールされていること。 +- **Maven** による依存関係管理。 +- 基本的な Java の知識(ファイル操作、クラスなど)。 + +## GroupDocs.Search for Java の設定 + +`pom.xml` にリポジトリと依存関係を追加します: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +公式リリースページから直接ライブラリをダウンロードすることもできます: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)。 + +### インデックスの初期化 + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. インデックスフォルダーを定義し、インデックスを作成 +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. 既存のパスワードをクリア(存在する場合) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. 特定のドキュメントにパスワードを追加 +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. パスワードを取得して削除 +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. 複数ドキュメントにパスワードを追加 +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## パスワード付きドキュメントをインデックス化する方法 +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## 複数ドキュメントを横断検索する方法 +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## 実用的な活用例 +- **エンタープライズ文書管理** – 安全で検索可能なアーカイブ。 +- **コンテンツ管理プラットフォーム** – 保護された資産の高速取得。 +- **法務文書リポジトリ** – 機密性を保ちつつ全文検索を実現。 + +## パフォーマンス上の考慮点 +- **並列インデックス作成** – 大量バッチでは複数スレッドを使用。 +- **メモリ監視** – 大規模インポート時は JVM ヒープをチェック。 +- **定期的なインデックスメンテナンス** – ファイル変更やパスワード更新時に再インデックス化。 + +## 結論 +これで **manage document passwords Java** を GroupDocs.Search と共に活用し、堅牢なインデックスを作成し、強力な **search across multiple documents** を実行できるようになりました。これらの手順をアプリケーションに組み込むことで、セキュアで高速、かつスケーラブルな検索体験を提供できます。 + +**次のステップ** +- 高度なクエリ演算子(ワイルドカード、ファジー検索)を試す。 +- リアルタイム更新のためのインクリメンタルインデックスを検討。 +- PDF 変換や注釈付けなど、他の GroupDocs 製品と組み合わせる。 + +## Frequently Asked Questions + +**Q: 大量のドキュメントをインデックス化できますか?** +A: はい、GroupDocs.Search は大規模コレクションを効率的に処理できるよう設計されています。 + +**Q: 既存のインデックスに新しいドキュメントを追加できますか?** +A: もちろんです! 必要に応じてインデックスにドキュメントを追加・削除できます。 + +**Q: インデックス化したデータのセキュリティはどう確保しますか?** +A: ドキュメントパスワード辞書を使用し、インデックスを保護されたディレクトリに保存してください。 + +**Q: GroupDocs.Search はさまざまなファイル形式に対応していますか?** +A: はい、PDF、Word、Excel など多数の一般的なフォーマットをサポートしています。 + +**Q: インデックス作成時にパフォーマンス問題が発生したらどうすればよいですか?** +A: 並列処理を有効にしたり、ヒープサイズを増やしたり、インデックス設定を調整したりしてください。 + +--- + +**最終更新日:** 2025-12-29 +**テスト環境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs + +**リソース** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/japanese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/japanese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..24714bfa --- /dev/null +++ b/content/japanese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java を使用して Java ドキュメントをインデックス化し、検索インデックスを作成する方法を学びます。このガイドでは、セットアップ、インデックス作成、検索、そしてドキュメントの効率的な管理について解説します。 +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: GroupDocs.SearchでJavaドキュメントをインデックスする方法 – 効率的な検索 +type: docs +url: /ja/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# GroupDocs.Search を使用した Java ドキュメントのインデックス作成 – 効率的な検索 + +## はじめに + +膨大なドキュメントに圧倒され、**how to index java** ファイルを迅速にインデックスする方法に悩んでいませんか? 多くの企業や個人が日々この課題に直面しています。**GroupDocs.Search for Java** は、ドキュメント検索を効率化するソリューションを提供し、プロセスをより速く、管理しやすくします。 + +このチュートリアルでは、GroupDocs.Search for Java を使用してドキュメントのインデックス化リポジトリを作成する方法をご案内します。ファイルシステムからドキュメントをロードし、検索を実行し、削除を管理し、インデックス化されたデータを効率的かつスケーラブルに取得する方法を学びます。 + +**学習内容:** +- GroupDocs.Search for Java のセットアップと構成 +- **検索インデックスの作成** とストリームからのドキュメントのインデックス化 +- ファイルシステムからドキュメントをロード +- インデックス上での **キーワード検索の実行** +- 特定ドキュメントの **インデックス削除方法** +- 削除後のインデックス化されたドキュメントの取得 + +ドキュメント検索の管理方法を革新する準備はできましたか? それでは前提条件から始めましょう! + +## クイック回答 +- **主な目的は何ですか?** Java ドキュメントを効率的にインデックス化し検索することです。 +- **必要なライブラリはどれですか?** GroupDocs.Search for Java (v25.4 以上)。 +- **ライセンスは必要ですか?** 無料トライアルまたは一時ライセンスが利用可能です。製品環境では永続ライセンスが必要です。 +- **インデックスからドキュメントを削除できますか?** はい、ドキュメントキーを使用した `delete` メソッドで削除できます。 +- **Apache Commons IO は必須ですか?** ファイル操作ユーティリティとして推奨されます。 + +## “how to index java” とは? + +Java ドキュメントのインデックス化とは、ドキュメントの内容を検索可能な用語にマッピングした検索可能なデータ構造(インデックス)を作成することで、キーワードクエリに基づいて関連ファイルを迅速に取得できるようにすることです。 + +## GroupDocs.Search for Java を使用する理由 + +- **速度:** 最適化されたアルゴリズムにより、大規模コレクションでも高速なクエリ結果が得られます。 +- **スケーラビリティ:** パフォーマンスを犠牲にせずに数千のドキュメントを処理します。 +- **柔軟性:** 様々なファイル形式をサポートし、大きなファイルに対して遅延ロードを提供します。 +- **統合の容易さ:** シンプルな Maven 設定と分かりやすい API。 + +## 前提条件 + +開始する前に、以下が揃っていることを確認してください。 + +### 必要なライブラリと依存関係 +- **GroupDocs.Search for Java**: バージョン 25.4 以上がインストールされていることを確認してください。 +- **Apache Commons IO**: ファイル操作ユーティリティに必要です。 + +### 環境設定要件 +- Java Development Kit (JDK) 8 以上。 +- IntelliJ IDEA や Eclipse などの統合開発環境 (IDE)。 + +### 知識の前提条件 +- Java プログラミングとオブジェクト指向概念の基本的な理解。 +- 依存関係管理のための Maven に慣れていると望ましいですが、必須ではありません。 + +## GroupDocs.Search for Java の設定 + +Maven を使用して GroupDocs.Search のプロジェクト環境を設定する手順は以下の通りです。 + +**Maven 設定:** +`pom.xml` ファイルに以下のリポジトリと依存関係を追加してください。 + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**直接ダウンロード:** +または、[GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) から最新バージョンを直接ダウンロードしてください。 + +### ライセンス取得手順 +- **無料トライアル:** 機能をテストするために無料トライアルから始めます。 +- **一時ライセンス:** 制限なくすべての機能を試すために一時ライセンスを申請します。 +- **購入:** ニーズに合致すれば購入を検討してください。 + +**基本的な初期化と設定:** + +環境が整ったら、以下のように GroupDocs.Search を初期化します。 + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## GroupDocs.Search を使用した Java ドキュメントのインデックス作成方法 + +### ドキュメントの作成とインデックス化 + +**概要:** 指定フォルダーにインデックスを作成し、ストリームからドキュメントを追加する方法を学び、**検索インデックスの作成** プロセスを効率化します。 + +#### 手順 1: インデックスの作成 +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **パラメーター:** 最初のパラメーターはインデックスを保存するディレクトリパスです。2 番目のブール値は、インデックスが存在する場合に自動更新を有効にします。 + +#### 手順 2: ストリームからドキュメントをロードして追加 +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **説明:** ここでは、ファイルを読み取りインデックス化の準備をする `DocumentLoader` を作成します。`createLazy` メソッドは大きなファイルを効率的に処理するために使用されます。 + +### ファイルシステムからのドキュメント読み込み + +**概要:** Apache Commons IO ユーティリティを使用して、ファイルシステムから直接ドキュメントを読み込むカスタムローダーを実装します。 + +#### 手順 1: Document Loader の定義 +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **詳細:** このクラスはファイルをバイト配列に読み込み、そこから `Document` オブジェクトを作成します。 + +### インデックスでのキーワード検索の実行 + +**概要:** インデックス化されたドキュメントに対して検索操作を実行し、関連情報を迅速に取得します。 + +#### 手順 1: 検索の実行 +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **説明:** シンプルなテキストクエリで `search` メソッドを使用し、インデックス化されたデータから結果を取得します。このアプローチは **java document search** シナリオに効果的です。 + +### インデックスエントリの削除方法 + +**概要:** キーを使用して特定のドキュメントを削除し、インデックスを管理します。 + +#### 手順 1: ドキュメントの削除 +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **パラメーター:** インデックスから削除したいドキュメントキーの配列を渡します。`UpdateOptions` は柔軟な削除戦略を可能にします。 + +### 削除後のインデックス化ドキュメントの取得 + +**概要:** ドキュメントを削除した後、残りのインデックス化されたファイルのリストを取得し、データの整合性を確保します。 + +#### 手順 1: 残存ドキュメントの取得 +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **説明:** この手順は、削除後のインデックスの現在の状態を検証するのに役立ちます。 + +## 実用的な活用例 + +GroupDocs.Search for Java は多用途で、以下のような多数のユースケースがあります。 + +1. **エンタープライズ文書管理:** 企業のドキュメントを迅速に検索し、生産性を向上させます。 +2. **法務文書分析:** ケースファイルや法的テキストを効率的に検索し、関連する判例を見つけます。 +3. **図書館カタログシステム:** 大規模な書籍や原稿のコレクションをインデックス化・管理し、アクセスを容易にします。 + +## パフォーマンス考慮事項 + +最適なパフォーマンスを得るために: + +- **インデックス最適化:** ドキュメントの最新変更を反映するよう、インデックスを定期的に更新します。 +- **メモリ管理:** リソース負荷の高い操作を管理し、Java のガベージコレクションを効果的に活用します。 +- **スケーラビリティ:** インデックス戦略が大量データを処理でき、パフォーマンス低下を防ぐことを確認します。 + +## よくある問題と解決策 + +| 問題 | 原因 | 解決策 | +|------|------|--------| +| **結果が返されない** | クエリ用語がインデックスされていない、またはストップワードが除外されている | `IndexingOptions` を確認し、ストップワードリストを調整する | +| **メモリ不足エラー** | 遅延ロードなしで非常に大きなファイルをロードしている | `Document.createLazy` を使用するか、JVM ヒープサイズを増やす | +| **削除されたドキュメントがまだ表示される** | 削除後にインデックスが更新されていない | `index.optimize()` を呼び出すか、インデックスを再オープンする | + +## よくある質問 + +**Q: PDF、DOCX、PPTX を同時にインデックスできますか?** +A: はい、GroupDocs.Search は多数のフォーマットを標準でサポートしています。 + +**Q: “how to delete index” は内部でどのように機能しますか?** +A: `delete` メソッドはドキュメントキーに基づいてエントリを削除し、インデックスの一貫性を保つために内部のポスティングリストを更新します。 + +**Q: インデックスサイズを監視する方法はありますか?** +A: `index.getStatistics()` を使用して、ドキュメント数やストレージサイズに関する情報を取得できます。 + +**Q: 各削除後にインデックス全体を再構築する必要がありますか?** +A: いいえ、`delete` 操作はインデックスをインクリメンタルに更新し、既存データを保持します。 + +**Q: スキーマ変更後にすべてのドキュメントを再インデックス化する必要がある場合は?** +A: 別のフォルダー パスで新しい `Index` インスタンスを作成し、すべてのドキュメントを再度追加します。 + +## 結論 + +これで、**how to index java** ドキュメントの概念と、GroupDocs.Search for Java を使用した高速検索の方法をしっかりと理解できたはずです。この強力なライブラリは、大規模なドキュメントコレクションの管理と情報取得の方法を変革し、あらゆる組織にとって不可欠なツールとなります。 + +**次のステップ:** +- さまざまなドキュメントタイプや複雑なクエリで実験してみましょう。 +- ファセット検索、メタデータインデックス、カスタムアナライザーなどの高度な機能を探求してください。 + +インデックス作成の旅を始める準備はできましたか? 本日これらの手法を実装し、より速く、より正確なドキュメント取得を体験してください! + +--- + +**最終更新日:** 2025-12-29 +**テスト環境:** GroupDocs.Search Java 25.4 +**作者:** GroupDocs \ No newline at end of file diff --git a/content/japanese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/japanese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..423d8867 --- /dev/null +++ b/content/japanese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,275 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java の高度なインデックス機能(キャンセル、非同期操作、マルチスレッド、メタデータのカスタマイズ)を使用して検索パフォーマンスを最適化する方法を学びます。 +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: GroupDocs.Search for Java の高度なインデックス作成技術で検索パフォーマンスを最適化する +type: docs +url: /ja/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# GroupDocs.Search for Java の高度なインデックス作成テクニックで検索パフォーマンスを最適化する + +今日の高速に変化するデジタル環境では、**検索パフォーマンスの最適化**はユーザーに瞬時の結果を提供するために不可欠です。カスタム検索エンジンを構築する場合でも、既存のドキュメント管理システムを強化する場合でも、適切なインデックス戦略によりレイテンシとリソース消費を大幅に削減できます。このチュートリアルでは、GroupDocs.Search for Java の最も強力な機能—キャンセル、非同期インデックス作成、マルチスレッド、メタデータカスタマイズ—を順に解説し、**add documents index** をより速く、効率的に行えるようにします。 + +**学べること** + +- 指定時間後にインデックス作成操作をキャンセルする方法 +- 非同期インデックス作成操作を実行し、ステータス変更を処理する方法 +- 高速インデックス作成のためのマルチスレッド設定 +- メタデータインデックス作成オプションのカスタマイズ + +コードに入る前に、必要なものがすべて揃っていることを確認しましょう。 + +## 前提条件 + +- **GroupDocs.Search Library** – バージョン 25.4 以降。 +- **Java Development Environment** – JDK 8 以上を推奨。 +- Java とインデックス概念の基本的な知識。 + +### GroupDocs.Search for Java の設定 + +#### Maven インストール + +`pom.xml` ファイルにリポジトリと依存関係を追加します: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### 直接ダウンロード + +あるいは、最新の JAR を [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) からダウンロードします。 + +**ライセンス取得** – 無料トライアルで開始するか、フル機能を利用できる一時ライセンスをリクエストしてください。 + +### 基本的な初期化とセットアップ + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## クイック回答 + +- **キャンセルは何をするのですか?** 設定した時間後にインデックス作成を停止し、リソースを解放します。 +- **ドキュメントを非同期にインデックスできますか?** はい – `options.setAsync(true)` を設定します。 +- **スレッドは何本使用できますか?** 正の整数であれば任意。多くのサーバーでは 2‑4 本が典型的です。 +- **メタデータインデックスはオプションですか?** もちろん – フィールドごとに有効化または微調整できます。 +- **これらの機能にライセンスは必要ですか?** テストにはトライアルで動作しますが、本番環境ではフルライセンスが必要です。 + +## この文脈での「検索パフォーマンスの最適化」とは何か + +検索パフォーマンスの最適化とは、インデックス作成プロセスを設定し、CPU、メモリ、時間を適切に消費しながら、最も関連性の高い結果を瞬時に提供できるようにすることです。キャンセル、非同期実行、スレッド、メタデータ処理を制御することで、エンジンが **add documents index** できる速度とクエリへの応答速度に直接影響を与えます。 + +## なぜ高度なインデックス作成機能を使用するのか + +- **レイテンシの削減** – 非同期およびマルチスレッドインデックス作成により、アプリケーションの応答性が保たれます。 +- **リソース管理の向上** – キャンセルにより、過剰に走り続けるプロセスを防止します。 +- **検索関連性のカスタマイズ** – メタデータオプションで最重要情報を表面化できます。 + +## 実装ガイド + +### キャンセルプロパティ + +**概要** – 指定された期間後にインデックス作成をキャンセルし、リソースの過剰消費を防止します。 + +#### 手順 1: 環境設定 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 手順 2: キャンセル付きインデックス作成オプションの作成 + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**重要ポイント** + +- `setCancellation()` が機能を有効化します。 +- `cancelAfter(int milliseconds)` がタイムアウトを定義します(この例では 3 秒)。 + +### 非同期プロパティ + +**概要** – バックグラウンドスレッドでインデックス作成を実行し、ステータス変更を監視します。 + +#### 手順 1: 環境設定 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 手順 2: Status Changed イベントの購読 + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### 手順 3: 非同期オプションの設定 + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### スレッドプロパティ + +**概要** – 複数の CPU コアを活用してインデックス作成を高速化します。 + +#### 手順 1: 環境設定 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 手順 2: マルチスレッドの設定 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### メタデータインデックス作成オプションプロパティ + +**概要** – どのドキュメントメタデータをインデックス作成し、どのように保存するかを細かく調整します。 + +#### 手順 1: 環境設定 + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### 手順 2: メタデータオプションの設定 + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## 実用的な応用例 + +1. **Document Management Systems** – 大量バッチをバックグラウンドで処理しながら UI の応答性を保つために非同期インデックス作成を使用します。 +2. **Content Search Engines** – ピーク時のトラフィックでサーバーリソースを占有する長時間ジョブを防ぐためにキャンセルを適用します。 +3. **Large‑Scale Ingestion Pipelines** – スケールで **add documents index** を実現するためにマルチスレッドを活用し、処理時間を大幅に短縮します。 + +## パフォーマンス上の考慮点 + +- **スレッド管理** – CPU 使用率を監視します。スレッドが多すぎるとコンテキストスイッチのオーバーヘッドが発生します。 +- **メモリフットプリント** – メタデータ制限(例: `setMaxBytesToIndexField`)によりメモリ使用量を予測可能に保ちます。 +- **ガベージコレクション** – 大規模コーパスをインデックス作成する際は適切な JVM フラグ(`-Xmx`, `-XX:+UseG1GC`)を使用します。 + +## よくある問題と解決策 + +| 症状 | 考えられる原因 | 対策 | +|---------|--------------|-----| +| インデックス作成が終了しない | キャンセルが低すぎる | `cancelAfter` の値を増やすか、長時間ジョブではキャンセルを削除します | +| 非同期モードでステータス更新がない | イベントハンドラが正しく添付されていない | `index.add` の前に `index.getEvents().StatusChanged.add(...)` が呼び出されていることを確認します | +| メモリ不足エラー | スレッドが多すぎるかメタデータ制限が高すぎる | `options.setThreads` を減らし、メタデータフィールドの制限を下げます | +| 結果にメタデータが欠落している | メタデータインデックスが無効化されている | `options.getMetadataIndexingOptions()` が設定され、フィールドが無視されていないことを確認します | + +## よくある質問 + +**Q: GroupDocs.Search の一時ライセンスはどう取得しますか?** +A: [GroupDocs の一時ライセンスページ](https://purchase.groupdocs.com/temporary-license/) をご覧ください。 + +**Q: インデックス作成操作を途中でキャンセルできますか?** +A: はい – `cancelAfter()` を使用したキャンセルプロパティ、またはプログラムで `Cancellation.cancel()` を呼び出します。 + +**Q: 非同期インデックス作成のユースケースは何ですか?** +A: リアルタイムのドキュメント取得、バックグラウンドバッチ処理、UI 応答性の高いアプリケーションが非同期インデックス作成の恩恵を受けます。 + +**Q: 共有サーバーでスレッド数を増やすのは安全ですか?** +A: 徐々に増やし、CPU 負荷を監視してください。共有環境が過密な場合は、スレッド数を控えめに保ちます(2‑4)。 + +**Q: メタデータインデックスは検索関連性にどのように影響しますか?** +A: 正しくインデックスされたメタデータ(著者、作成日、タグなど)はクエリで高い重み付けが可能となり、結果の精度が向上します。 + +## 結論 + +GroupDocs.Search for Java のこれら高度な機能を活用することで、**検索パフォーマンスの最適化**がさまざまなシナリオで実現できます—高速なドキュメント取り込みから細かなメタデータ制御まで。さまざまな構成を試し、リソース使用状況を監視し、特定のワークロードに合わせて設定を調整して最良の結果を得てください。 + +--- + +**最終更新:** 2025-12-29 +**テスト環境:** GroupDocs.Search 25.4 for Java +**作者:** GroupDocs \ No newline at end of file diff --git a/content/korean/java/getting-started/_index.md b/content/korean/java/getting-started/_index.md new file mode 100644 index 00000000..fb3552c2 --- /dev/null +++ b/content/korean/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: Java 개발자를 위한 GroupDocs.Search 구성 방법에 대한 단계별 가이드로, 설치, 라이선스 및 첫 번째 검색 + 솔루션 만들기를 다룹니다. +title: 'GroupDocs.Search 구성 방법 - Java 시작 튜토리얼' +type: docs +url: /ko/java/getting-started/ +weight: 1 +--- + +# GroupDocs.Search 구성 방법 - Java 시작 튜토리얼 + +Java 애플리케이션용 **GroupDocs.Search 구성 방법**에 대한 궁극적인 가이드에 오신 것을 환영합니다. 이 튜토리얼에서는 라이브러리 설치, 라이선스 설정 및 첫 번째 검색 가능한 문서 솔루션 구축에 필요한 핵심 단계를 배웁니다. 새 프로젝트를 시작하든 기존 코드베이스에 검색을 통합하든, 이 안내서는 빠르게 시작하고 실행하는 데 필요한 모든 것을 제공합니다. + +## Quick Answers +- **첫 번째 단계는 무엇인가요?** Maven 또는 Gradle을 통해 GroupDocs.Search Java 패키지를 설치합니다. +- **라이선스가 필요합니까?** 예—임시 라이선스는 개발에 사용할 수 있으며, 프로덕션에는 정식 라이선스가 필요합니다. +- **어떤 IDE가 가장 좋나요?** Maven/Gradle 프로젝트를 지원하는 모든 Java IDE(IntelliJ IDEA, Eclipse, VS Code) 중 선택하면 됩니다. +- **PDF와 Word 파일을 인덱싱할 수 있나요?** 물론입니다—GroupDocs.Search는 다양한 문서 형식을 기본적으로 지원합니다. +- **설정에 얼마나 걸리나요?** 새 프로젝트의 경우 일반적으로 15분 미만입니다. + +## “GroupDocs.Search 구성 방법”이란? +GroupDocs.Search를 구성한다는 것은 라이브러리를 문서 인덱싱을 위해 준비하고, 저장 위치를 정의하며, 라이선스 키를 적용하여 API가 제한 없이 작동하도록 하는 것을 의미합니다. 올바른 구성은 빠르고 정확한 검색 결과와 Java 코드와의 원활한 통합을 보장합니다. + +## Java용 GroupDocs.Search를 구성해야 하는 이유 +- **빠른 구현** – 인덱싱 및 검색을 시작하기 위해 최소한의 코드만 필요합니다. +- **확장 가능한 인덱싱** – 성능 저하 없이 대용량 문서 컬렉션을 처리합니다. +- **다양한 형식 지원** – PDF, DOCX, XLSX, PPTX 및 기타 많은 파일 형식을 지원합니다. +- **안전한 라이선스** – 규정 준수를 보장하고 모든 프리미엄 기능을 활성화합니다. + +## 전제 조건 +- Java Development Kit (JDK) 8 이상. +- Maven 3 또는 Gradle 5 (의존성 관리용). +- 임시 또는 정식 GroupDocs.Search 라이선스 키에 대한 접근 권한. + +## 단계별 가이드 + +### 단계 1: 프로젝트에 GroupDocs.Search 추가 +`pom.xml`(Maven) 또는 `build.gradle`(Gradle)에 GroupDocs.Search 의존성을 포함합니다. 이렇게 하면 라이브러리를 코드에서 사용할 수 있게 됩니다. + +### 단계 2: 라이선스 적용 +`License` 객체를 생성하고 임시 또는 영구 라이선스 파일을 로드합니다. 이 단계에서 전체 기능이 활성화되고 평가 제한이 해제됩니다. + +### 단계 3: 인덱스 설정 초기화 +인덱스 파일이 디스크에 저장될 위치를 정의하고 필요한 맞춤 인덱싱 옵션(예: 대소문자 구분, 불용어)을 구성합니다. + +### 단계 4: 문서 인덱싱 +`Indexer` 클래스를 사용하여 파일이나 폴더를 인덱스에 추가합니다. GroupDocs.Search는 파일 유형을 자동으로 감지하고 검색 가능한 텍스트를 추출합니다. + +### 단계 5: 검색 쿼리 수행 +`SearchOptions` 객체를 생성하고 쿼리 문자열을 지정한 뒤 검색을 실행합니다. API는 관련 점수와 함께 일치하는 문서 목록을 반환합니다. + +### 단계 6: 결과 검토 +검색 결과를 반복(iterate)하면서 파일 이름을 표시하고, 필요에 따라 UI에서 일치하는 용어를 강조 표시합니다. + +## 일반적인 문제 및 해결책 +- **라이선스 인식 안 됨** – 라이선스 파일 경로를 확인하고 사용 중인 GroupDocs.Search 버전과 일치하는지 확인합니다. +- **문서 형식 누락** – 덜 일반적인 파일 형식 지원이 필요하면 선택적 `groupdocs-conversion` 애드온을 설치합니다. +- **성능 병목** – 증분 인덱싱을 사용하고 인덱스 폴더를 SSD 스토리지에 구성하여 접근 속도를 높입니다. + +## 자주 묻는 질문 + +**Q: Linux 서버에서 GroupDocs.Search를 사용할 수 있나요?** +A: 예, 이 라이브러리는 플랫폼에 독립적이며 Java를 지원하는 모든 OS에서 실행됩니다. + +**Q: 새 파일을 추가한 후 인덱스를 어떻게 업데이트하나요?** +A: 새 파일을 가지고 `Indexer`를 다시 호출하면 라이브러리가 기존 인덱스에 병합합니다. + +**Q: 특정 폴더로 검색 결과를 제한할 수 있나요?** +A: 예, 쿼리를 실행하기 전에 `SearchOptions`에 폴더 필터를 설정합니다. + +**Q: 임시 라이선스 기간이 만료되면 어떻게 되나요?** +A: API는 제한된 기능을 가진 평가 모드로 계속 동작합니다; 영구 키로 라이선스 파일을 교체하면 전체 기능이 복구됩니다. + +**Q: GroupDocs.Search가 퍼지 검색을 지원하나요?** +A: 물론입니다—`SearchOptions`에서 퍼지 매칭을 활성화하면 약간의 철자 변형이 있는 결과를 검색할 수 있습니다. + +## 추가 리소스 + +### 사용 가능한 튜토리얼 + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +이 단계별 가이드를 통해 GroupDocs.Search for Java를 배포하고 구성하는 방법을 배웁니다. 프로젝트에서 문서 인덱싱 및 검색 기능을 향상시킵니다. + +### 유용한 링크 +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**마지막 업데이트:** 2025-12-29 +**테스트 환경:** GroupDocs.Search 23.12 for Java +**작성자:** GroupDocs \ No newline at end of file diff --git a/content/korean/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/korean/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..ae1a0ce6 --- /dev/null +++ b/content/korean/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,245 @@ +--- +date: '2025-12-29' +description: Java 디렉터리를 정리하고, 문서 관리 자동화를 구현하며, GroupDocs.Search for Java를 사용하여 파일 + 이름을 바꾸는 방법을 배우세요. 애플리케이션의 효율성을 높이세요. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Clean Directory Java – 인덱싱 및 이름 변경 자동화 +type: docs +url: /ko/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – GroupDocs.Search를 사용한 문서 인덱싱 및 이름 바꾸기 자동화 + +If you need to **clean directory java** while automating document indexing and renaming, you’ve come to the right place. Manually handling file moves, deletions, and index updates is error‑prone and time‑consuming. In this tutorial we’ll show you how to let Java do the heavy lifting, using **GroupDocs.Search for Java** to create a searchable index, rename files, and keep the index in sync automatically. + +## Quick Answers +- **What does “clean directory java” mean?** Deleting all files/folders inside a target directory using Java code. +- **Which library creates the searchable index?** GroupDocs.Search for Java. +- **How do I rename a document and keep the index updated?** Use `File.renameTo()` then notify the index with `Notification.createRenameNotification`. +- **Can I copy files after cleaning the folder?** Yes – Java Streams can copy files while preserving the index. +- **Is a license required for production?** A valid GroupDocs.Search license is needed for commercial use. + +## What is “clean directory java”? +Cleaning a directory in Java means programmatically removing every file and sub‑folder inside a specified folder. This is often a prerequisite step before copying fresh files or rebuilding an index, ensuring that stale data does not interfere with search results. + +## Why automate document indexing and renaming? +- **Document management automation** reduces manual effort and eliminates human error. +- A **create searchable index** step lets you instantly locate any document by content. +- Renaming files without updating the index would break search accuracy; automation keeps everything consistent. + +## Prerequisites + +- **GroupDocs.Search for Java** (Version 25.4 or later) +- JDK 8 + and an IDE such as IntelliJ IDEA or Eclipse +- Basic Java knowledge, especially file I/O + +## Setting Up GroupDocs.Search for Java + +### Maven Dependency +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternatively, download the latest version from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Obtain a free trial, a temporary evaluation license, or purchase a full license for production use. + +### Basic Initialization +Create an `Index` instance that will hold the searchable data: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementation Guide + +### 1. Add Documents to Index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explanation*: +- `indexFolder` – where the index files are stored. +- `documentFolder` – the source folder that contains the files you want to make searchable. + +### 2. Rename a Document and Notify the Index + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explanation*: +- Java’s `File.renameTo()` performs the physical rename. +- `Notification.createRenameNotification()` tells GroupDocs.Search that the file name changed, keeping the index accurate. + +## Clean Directory Java – Directory Cleaning and File Copying + +Keeping a folder tidy before a bulk copy prevents duplicate or orphaned files. Below are two reusable snippets. + +### Step 1: Delete Folder Contents (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explanation*: +- `Files.walk()` traverses every file and sub‑folder. +- Sorting in reverse order ensures files are removed before their parent directories, effectively **delete folder contents**. + +### Step 2: Copy Files (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explanation*: +- The stream filters only regular files, then copies each to the target directory, overwriting existing files if needed. + +## Practical Applications + +- **Enterprise Document Management** – Automate indexing for thousands of contracts and keep file names in sync. +- **Legal Firms** – Quickly rename case files while preserving searchable content. +- **Content Management Systems** – Use the clean‑directory pattern to refresh media folders without manual cleanup. + +## Performance Considerations + +- **Index Size** – Periodically compact the index if it grows large. +- **Memory Usage** – Process files in batches to avoid `OutOfMemoryError`. +- **Concurrency** – For bulk operations, consider Java’s `ExecutorService` to parallelize cleaning and copying. + +## Common Issues & Tips + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Frequently Asked Questions + +**Q: Can I clean a directory that contains sub‑folders?** +A: Yes. The `Files.walk()` approach recursively deletes all nested files and folders. + +**Q: Do I need to rebuild the whole index after each rename?** +A: No. Sending a rename notification and calling `index.update()` is sufficient. + +**Q: How large a folder can I clean before hitting performance limits?** +A: It depends on JVM memory; processing in smaller batches or using streams helps manage large data sets. + +**Q: Is GroupDocs.Search free for development?** +A: A free trial is available, but a paid license is required for production use. + +**Q: Can I use this approach with other file types (e.g., PDFs, DOCX)?** +A: Absolutely. GroupDocs.Search supports many formats; just add the folder containing those files to the index. + +## Conclusion + +You now have a complete, production‑ready solution for **clean directory java**, adding documents to a searchable index, renaming files, and keeping everything synchronized with GroupDocs.Search. Apply these patterns to automate your document management workflow and enjoy faster, more reliable search experiences. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/korean/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/korean/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..5e7c4941 --- /dev/null +++ b/content/korean/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search를 사용하여 Java에서 문서 비밀번호를 관리하고, 검색 가능한 인덱스를 생성하며, 여러 문서에서 + 효율적으로 검색하는 방법을 배워보세요. +keywords: +- manage document passwords java +- search across multiple documents +title: GroupDocs.Search를 이용한 Java 문서 비밀번호 관리 +type: docs +url: /ko/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# GroupDocs.Search를 사용한 Java 문서 비밀번호 관리 + +현대 기업 애플리케이션에서 **manage document passwords Java**는 민감한 파일을 안전하게 보호하면서도 빠르고 신뢰할 수 있는 검색을 가능하게 하는 중요한 단계입니다. 이 가이드에서는 GroupDocs.Search를 사용해 인덱스를 생성·관리하고, 인덱스 사전에 비밀번호를 안전하게 저장한 뒤 **search across multiple documents**를 손쉽게 수행하는 방법을 보여드립니다. 문서 관리 시스템을 구축하거나 기존 Java 애플리케이션에 검색 기능을 추가하고자 할 때, 아래 단계들을 따라 하면 빠르게 시작할 수 있습니다. + +## Quick Answers +- **“manage document passwords Java”가 의미하는 것은?** 보호된 파일의 비밀번호를 검색 인덱스에 직접 저장하고 검색하는 것을 말합니다. +- **비밀번호가 보호된 파일을 인덱싱할 수 있나요?** 예—인덱싱 전에 비밀번호를 인덱스 사전에 추가하면 됩니다. +- **한 번에 몇 개의 문서를 검색할 수 있나요?** GroupDocs.Search는 단일 쿼리로 **search across multiple documents**를 수행할 수 있습니다. +- **프로덕션 환경에 라이선스가 필요합니까?** 프로덕션 사용을 위해서는 라이선스가 필요하며, 평가용 무료 체험판을 제공하고 있습니다. +- **필요한 Java 버전은?** JDK 8 이상. + +## “manage document passwords Java”란? +검색 인덱스에 문서 비밀번호를 저장하면 엔진이 인덱싱 및 검색 중에 보호된 파일을 자동으로 열 수 있어, 매번 수동으로 비밀번호를 입력할 필요가 없습니다. + +## 왜 GroupDocs.Search를 사용해야 할까요? +- **내장된 비밀번호 사전** – 파일 경로와 비밀번호를 연결해 관리합니다. +- **고성능 인덱싱** – 수천 개 파일을 빠르게 처리합니다. +- **풍부한 쿼리 언어** – 다양한 문서 유형에 대한 복잡한 검색을 지원합니다. + +## Prerequisites +- **JDK 8+**가 설치되어 있어야 합니다. +- **Maven**을 사용한 의존성 관리. +- 기본적인 Java 지식(파일 처리, 클래스 등). + +## Setting Up GroupDocs.Search for Java + +`pom.xml`에 저장소와 의존성을 추가합니다: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +공식 릴리스 페이지에서 라이브러리를 직접 다운로드할 수도 있습니다: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### 인덱스 초기화 + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## How to manage document passwords Java? + +### 1. 인덱스 폴더 정의 및 인덱스 생성 +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. 기존 비밀번호 삭제 (있는 경우) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. 특정 문서에 비밀번호 추가 +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. 비밀번호 조회 및 삭제 +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. 여러 문서에 비밀번호 추가 +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## How to index documents with passwords? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## How to search across multiple documents? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Practical Applications +- **Enterprise Document Management** – 안전하면서도 검색 가능한 아카이브. +- **Content Management Platforms** – 보호된 자산을 빠르게 검색. +- **Legal Document Repositories** – 기밀성을 유지하면서 전체 텍스트 검색 가능. + +## Performance Considerations +- **Parallel Indexing** – 대용량 배치를 위해 다중 스레드 사용. +- **Memory Monitoring** – 대규모 가져오기 시 JVM 힙을 지속적으로 확인. +- **Regular Index Maintenance** – 파일이 변경되거나 비밀번호가 업데이트될 때 재인덱싱. + +## Conclusion +이제 GroupDocs.Search를 활용해 **manage document passwords Java**를 수행하고, 견고한 인덱스를 만들며 **search across multiple documents**를 강력하게 실행하는 방법을 알게 되었습니다. 이 절차를 애플리케이션에 통합하면 안전하고 빠르며 확장 가능한 검색 경험을 제공할 수 있습니다. + +**Next Steps** +- 고급 쿼리 연산자(와일드카드, 퍼지 검색) 사용해 보기. +- 실시간 업데이트를 위한 증분 인덱싱 탐색. +- PDF 변환 또는 주석 기능을 위한 다른 GroupDocs 제품과 결합. + +## Frequently Asked Questions + +**Q: 대용량 문서를 인덱싱할 수 있나요?** +A: 예, GroupDocs.Search는 방대한 컬렉션을 효율적으로 처리하도록 설계되었습니다. + +**Q: 기존 인덱스에 새 문서를 추가할 수 있나요?** +A: 물론입니다! 필요에 따라 인덱스에 문서를 추가하거나 제거할 수 있습니다. + +**Q: 인덱스된 데이터의 보안을 어떻게 보장하나요?** +A: 문서‑비밀번호 사전을 사용하고, 인덱스를 보호된 디렉터리에 저장하세요. + +**Q: GroupDocs.Search가 다양한 파일 형식을 지원하나요?** +A: 예, PDF, Word, Excel 등 여러 일반 형식을 지원합니다. + +**Q: 인덱싱 중 성능 문제가 발생하면 어떻게 하나요?** +A: 병렬 처리 활성화, 힙 크기 확대, 인덱스 설정 튜닝 등을 고려해 보세요. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +**Resources** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/korean/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/korean/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..a5951dca --- /dev/null +++ b/content/korean/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,249 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java를 사용하여 Java 문서를 인덱싱하고 검색 인덱스를 만드는 방법을 배워보세요. + 이 가이드는 설정, 인덱싱, 검색 및 문서 관리를 효율적으로 다룹니다. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: GroupDocs.Search를 사용한 Java 문서 인덱싱 방법 – 효율적인 검색 +type: docs +url: /ko/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# GroupDocs.Search를 사용한 Java 문서 인덱싱 방법 – 효율적인 검색 + +## 소개 + +방대한 양의 문서에 압도되어 **how to index java** 파일을 빠르게 인덱싱하는 방법을 고민하고 있나요? 많은 기업과 개인이 매일 이 문제에 직면합니다. **GroupDocs.Search for Java**는 문서 검색을 간소화하는 효율적인 솔루션을 제공하여 프로세스를 더 빠르고 관리하기 쉽게 만듭니다. + +이 튜토리얼에서는 GroupDocs.Search for Java를 사용하여 문서의 인덱스 저장소를 만드는 방법을 안내합니다. 파일 시스템에서 문서를 로드하고, 검색을 수행하며, 삭제를 관리하고, 인덱스된 데이터를 효율적이고 확장 가능하게 검색하는 방법을 배웁니다. + +**배우게 될 내용:** +- GroupDocs.Search for Java 설정 및 구성. +- **검색 인덱스 생성** 및 스트림에서 문서 인덱싱. +- 파일 시스템에서 문서 로드. +- 인덱스에 대한 **키워드 검색 수행**. +- 특정 문서에 대한 **인덱스 삭제 방법**. +- 삭제 후 인덱스된 문서 검색. + +문서 검색 관리 방식을 혁신할 준비가 되셨나요? 이제 전제 조건부터 시작해봅시다! + +## 빠른 답변 +- **주요 목적은 무엇인가요?** Java 문서를 효율적으로 인덱싱하고 검색합니다. +- **필요한 라이브러리는?** GroupDocs.Search for Java (v25.4+). +- **라이선스가 필요한가요?** 무료 체험 또는 임시 라이선스를 사용할 수 있으며, 프로덕션 환경에서는 영구 라이선스가 필요합니다. +- **인덱스에서 문서를 삭제할 수 있나요?** 예, `delete` 메서드와 문서 키를 사용합니다. +- **Apache Commons IO가 필수인가요?** 파일 처리 유틸리티에 권장됩니다. + +## “how to index java”란 무엇인가요? +Java 문서를 인덱싱한다는 것은 문서 내용을 검색 가능한 용어와 매핑하는 검색 가능한 데이터 구조(인덱스)를 생성하는 것으로, 키워드 쿼리를 기반으로 관련 파일을 빠르게 검색할 수 있게 합니다. + +## 왜 GroupDocs.Search for Java를 사용하나요? +- **속도:** 최적화된 알고리즘이 대규모 컬렉션에서도 빠른 쿼리 결과를 제공합니다. +- **확장성:** 성능 저하 없이 수천 개의 문서를 처리합니다. +- **유연성:** 다양한 파일 형식을 지원하고 대용량 파일에 대해 지연 로딩을 제공합니다. +- **통합 용이성:** 간단한 Maven 설정과 직관적인 API. + +## 전제 조건 + +시작하기 전에 다음이 준비되어 있는지 확인하십시오: + +### 필수 라이브러리 및 종속성 +- **GroupDocs.Search for Java**: 버전 25.4 이상이 설치되어 있는지 확인하십시오. +- **Apache Commons IO**: 파일 처리 유틸리티에 필요합니다. + +### 환경 설정 요구 사항 +- Java Development Kit (JDK) 8 이상. +- IntelliJ IDEA 또는 Eclipse와 같은 통합 개발 환경(IDE). + +### 지식 전제 조건 +- Java 프로그래밍 및 객체지향 개념에 대한 기본 이해. +- Maven을 사용한 종속성 관리에 익숙하면 도움이 되지만 필수는 아닙니다. + +## GroupDocs.Search for Java 설정 + +Maven을 사용하여 GroupDocs.Search와 프로젝트 환경을 설정하는 단계는 다음과 같습니다: + +**Maven 구성:** +`pom.xml` 파일에 다음 저장소와 종속성을 추가하십시오: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**직접 다운로드:** +또는 최신 버전을 직접 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)에서 다운로드하십시오. + +### 라이선스 획득 단계 +- **무료 체험:** 기능을 테스트하기 위해 무료 체험을 시작하십시오. +- **임시 라이선스:** 제한 없이 모든 기능을 탐색하려면 임시 라이선스를 신청하십시오. +- **구매:** 필요에 맞다면 구매를 고려하십시오. + +**기본 초기화 및 설정:** + +환경이 준비되면 GroupDocs.Search를 다음과 같이 초기화하십시오: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## GroupDocs.Search를 사용한 Java 문서 인덱싱 방법 + +### 문서 생성 및 인덱싱 + +**개요:** 지정된 폴더에 인덱스를 생성하고 스트림에서 문서를 추가하는 방법을 배우며, **create search index** 프로세스를 간소화합니다. + +#### Step 1: Create an Index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameters:** 첫 번째 매개변수는 인덱스를 저장할 디렉터리 경로이며, 두 번째 불리언은 인덱스가 존재할 경우 자동 업데이트를 활성화합니다. + +#### Step 2: Load and Add Documents from Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explanation:** 여기서 파일을 읽고 인덱싱을 위해 준비하는 `DocumentLoader`를 생성합니다. `createLazy` 메서드는 대용량 파일을 효율적으로 처리하기 위해 사용됩니다. + +### 파일 시스템에서 문서 로드 + +**개요:** Apache Commons IO 유틸리티를 사용하여 파일 시스템에서 직접 문서를 읽는 사용자 정의 로더를 구현합니다. + +#### Step 1: Define Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Details:** 이 클래스는 파일을 바이트 배열로 읽고 `Document` 객체를 생성합니다. + +### 인덱스에서 키워드 검색 수행 + +**개요:** 인덱싱된 문서에 대해 검색 작업을 실행하여 관련 정보를 빠르게 검색합니다. + +#### Step 1: Execute Search +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explanation:** 간단한 텍스트 쿼리와 함께 `search` 메서드를 사용하여 인덱싱된 데이터에서 결과를 얻습니다. 이 접근 방식은 **java document search** 시나리오에 효율적입니다. + +### 인덱스 항목 삭제 방법 + +**개요:** 키를 사용하여 특정 문서를 삭제함으로써 인덱스를 관리합니다. + +#### Step 1: Delete Document +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameters:** 인덱스에서 제거하려는 문서 키 배열을 전달합니다. `UpdateOptions`는 유연한 삭제 전략을 허용합니다. + +### 삭제 후 인덱싱된 문서 검색 + +**개요:** 문서를 삭제한 후 남은 인덱싱된 파일 목록을 검색하여 데이터 무결성을 확인합니다. + +#### Step 1: Get Remaining Documents +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explanation:** 이 단계는 삭제 후 인덱스의 현재 상태를 확인하는 데 도움이 됩니다. + +## 실용적인 적용 사례 + +GroupDocs.Search for Java는 다재다능하며 다음과 같은 다양한 사용 사례를 제공합니다: + +1. **기업 문서 관리:** 회사 문서를 빠르게 검색하여 생산성을 향상시킵니다. +2. **법률 문서 분석:** 사건 파일 및 법률 텍스트를 효율적으로 검토하여 관련 판례를 찾습니다. +3. **도서관 카탈로그 시스템:** 대규모 도서 및 원고 컬렉션을 인덱싱하고 관리하여 접근성을 높입니다. + +## 성능 고려 사항 + +최적의 성능을 위해서는: + +- **인덱스 최적화:** 문서의 최신 변경 사항을 반영하도록 인덱스를 정기적으로 업데이트합니다. +- **메모리 관리:** 리소스가 많이 드는 작업을 관리하여 Java의 가비지 컬렉션을 효과적으로 활용합니다. +- **확장성:** 인덱싱 전략이 성능 저하 없이 대용량 데이터를 처리할 수 있도록 합니다. + +## 일반적인 문제 및 해결책 + +| 문제 | 원인 | 해결책 | +|-------|-------|----------| +| **결과가 반환되지 않음** | 쿼리 용어가 인덱싱되지 않았거나 불용어가 필터링됨 | `IndexingOptions`를 확인하고 불용어 목록을 조정하십시오 | +| **메모리 부족 오류** | 지연 로딩 없이 매우 큰 파일을 로드함 | `Document.createLazy`를 사용하거나 JVM 힙 크기를 늘리십시오 | +| **삭제된 문서가 여전히 표시됨** | 삭제 후 인덱스가 새로 고쳐지지 않음 | `index.optimize()`를 호출하거나 인덱스를 다시 열십시오 | + +## 자주 묻는 질문 + +**Q: PDF, DOCX, PPTX를 함께 인덱싱할 수 있나요?** +A: 예, GroupDocs.Search는 기본적으로 다양한 형식을 지원합니다. + +**Q: “how to delete index”가 내부적으로 어떻게 작동하나요?** +A: `delete` 메서드는 문서 키를 기반으로 항목을 제거하고 인덱스 일관성을 유지하도록 내부 포스팅 리스트를 업데이트합니다. + +**Q: 인덱스 크기를 모니터링하는 방법이 있나요?** +A: `index.getStatistics()`를 사용하여 문서 수와 저장 용량에 대한 정보를 가져올 수 있습니다. + +**Q: 각 삭제 후 전체 인덱스를 재구축해야 하나요?** +A: 아니요, `delete` 작업은 인덱스를 점진적으로 업데이트하여 기존 데이터를 보존합니다. + +**Q: 스키마 변경 후 모든 문서를 다시 인덱싱해야 하면 어떻게 하나요?** +A: 다른 폴더 경로로 새로운 `Index` 인스턴스를 생성하고 모든 문서를 다시 추가하십시오. + +## 결론 + +이제 **how to index java** 문서를 이해하고 GroupDocs.Search for Java를 사용하여 빠른 검색을 수행하는 방법을 확실히 알게 되었습니다. 이 강력한 라이브러리는 대규모 문서 컬렉션에서 정보를 관리하고 검색하는 방식을 혁신하여 모든 조직에 필수적인 도구가 됩니다. + +**다음 단계:** +- 다양한 문서 유형과 복잡한 쿼리를 실험해 보십시오. +- 패싯 검색, 메타데이터 인덱싱, 사용자 정의 분석기와 같은 고급 기능을 탐색하십시오. + +인덱싱 여정을 시작할 준비가 되셨나요? 오늘 이 기술을 구현하여 더 빠르고 정확한 문서 검색을 경험하십시오! + +--- + +**마지막 업데이트:** 2025-12-29 +**테스트 환경:** GroupDocs.Search Java 25.4 +**작성자:** GroupDocs \ No newline at end of file diff --git a/content/korean/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/korean/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..8c0cf4bc --- /dev/null +++ b/content/korean/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,275 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java의 고급 인덱싱 기능(취소, 비동기 작업, 멀티스레딩, 메타데이터 사용자 정의 + 포함)을 활용하여 검색 성능을 최적화하는 방법을 배웁니다. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: GroupDocs.Search for Java에서 고급 인덱싱 기술을 활용한 검색 성능 최적화 +type: docs +url: /ko/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# GroupDocs.Search for Java의 고급 인덱싱 기술로 검색 성능 최적화 + +오늘날 빠르게 변화하는 디지털 환경에서는 **검색 성능 최적화**가 사용자에게 즉시 결과를 제공하는 데 필수적입니다. 맞춤형 검색 엔진을 구축하든 기존 문서 관리 시스템을 개선하든, 올바른 인덱싱 전략은 지연 시간과 리소스 소비를 크게 줄일 수 있습니다. 이 튜토리얼에서는 GroupDocs.Search for Java의 가장 강력한 기능인 취소, 비동기 인덱싱, 멀티스레딩, 메타데이터 커스터마이징을 살펴보며 **add documents index**를 더 빠르고 효율적으로 수행하는 방법을 안내합니다. + +**배울 내용** + +- 지정된 시간 이후에 인덱싱 작업을 취소하는 방법 +- 비동기 인덱싱 작업 수행 및 상태 변경 처리 +- 더 빠른 인덱싱을 위한 멀티스레딩 구성 +- 메타데이터 인덱싱 옵션 맞춤 설정 + +코드에 들어가기 전에 필요한 모든 준비가 되어 있는지 확인해 봅시다. + +## Prerequisites + +- **GroupDocs.Search Library** – 버전 25.4 이상. +- **Java Development Environment** – JDK 8 이상 권장. +- Java와 인덱싱 개념에 대한 기본적인 이해. + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +`pom.xml` 파일에 리포지토리와 의존성을 추가합니다: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +또는 최신 JAR 파일을 [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)에서 다운로드합니다. + +**License Acquisition** – 무료 체험으로 시작하거나 전체 기능을 사용하려면 임시 라이선스를 요청하세요. + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **취소 기능은 무엇을 하나요?** 설정된 시간 이후에 인덱싱을 중단하여 리소스를 해제합니다. +- **문서를 비동기적으로 인덱싱할 수 있나요?** 예 – `options.setAsync(true)`를 설정합니다. +- **몇 개의 스레드를 사용할 수 있나요?** 양의 정수이면 언제든 가능하며, 대부분의 서버에서는 2‑4가 일반적입니다. +- **메타데이터 인덱싱은 선택 사항인가요?** 물론입니다 – 필드별로 활성화하거나 세부 조정할 수 있습니다. +- **이 기능들을 사용하려면 라이선스가 필요하나요?** 테스트에는 체험판으로 충분하지만, 운영 환경에서는 정식 라이선스가 필요합니다. + +## 이 맥락에서 “검색 성능 최적화”란 무엇인가요? + +검색 성능 최적화란 인덱싱 프로세스를 구성하여 CPU, 메모리, 시간을 적절히 사용하면서 가장 관련성 높은 결과를 즉시 제공하도록 하는 것을 의미합니다. 취소, 비동기 실행, 스레딩, 메타데이터 처리를 제어함으로써 엔진이 **add documents index**를 얼마나 빠르게 수행하고 쿼리에 응답할 수 있는지를 직접적으로 조정할 수 있습니다. + +## 왜 고급 인덱싱 기능을 사용해야 할까요? + +- **지연 시간 감소** – 비동기 및 멀티스레드 인덱싱으로 애플리케이션이 응답성을 유지합니다. +- **향상된 리소스 관리** – 취소 기능으로 과도한 프로세스를 방지합니다. +- **맞춤형 검색 관련성** – 메타데이터 옵션을 통해 가장 중요한 정보를 강조할 수 있습니다. + +## Implementation Guide + +### Cancellation Property + +**개요** – 지정된 기간이 지나면 인덱싱을 취소하여 리소스 과다 사용을 방지합니다. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()`이 기능을 활성화합니다. +- `cancelAfter(int milliseconds)`가 타임아웃을 정의합니다 (예시에서는 3초). + +### Asynchronous Property + +**개요** – 비동기 인덱싱을 백그라운드 스레드에서 실행하고 상태 변경을 수신합니다. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**개요** – 여러 CPU 코어를 활용해 인덱싱 속도를 높입니다. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**개요** – 어떤 문서 메타데이터를 인덱싱하고 어떻게 저장할지 세부 조정합니다. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **문서 관리 시스템** – 비동기 인덱싱을 사용해 대용량 배치를 백그라운드에서 처리하면서 UI 응답 유지합니다. +2. **콘텐츠 검색 엔진** – 피크 트래픽 시 장시간 실행 작업이 서버 리소스를 독점하지 않도록 취소 기능을 적용합니다. +3. **대규모 인제스트 파이프라인** – 멀티스레딩을 활용해 **add documents index**를 대규모로 수행하여 처리 시간을 크게 단축합니다. + +## Performance Considerations + +- **스레드 관리** – CPU 사용량을 모니터링하세요; 스레드가 너무 많으면 컨텍스트 스위치 오버헤드가 발생할 수 있습니다. +- **메모리 사용량** – 메타데이터 제한(`setMaxBytesToIndexField` 등)을 통해 메모리 사용을 예측 가능하게 유지합니다. +- **가비지 컬렉션** – 대규모 코퍼스를 인덱싱할 때 적절한 JVM 플래그(`-Xmx`, `-XX:+UseG1GC`)를 사용합니다. + +## Common Issues and Solutions + +| 증상 | 가능한 원인 | 해결 방법 | +|---------|--------------|-----| +| 인덱싱이 끝나지 않음 | 취소 시간이 너무 짧게 설정됨 | `cancelAfter` 값을 늘리거나 장시간 작업에 대해 취소를 제거하세요 | +| 비동기 모드에서 상태 업데이트가 없음 | 이벤트 핸들러가 올바르게 연결되지 않음 | `index.getEvents().StatusChanged.add(...)`가 `index.add` 호출 전에 실행되었는지 확인하세요 | +| 메모리 부족 오류 | 스레드가 너무 많거나 메타데이터 제한이 높음 | `options.setThreads`를 줄이고 메타데이터 필드 제한을 낮추세요 | +| 결과에 메타데이터 누락 | 메타데이터 인덱싱이 비활성화됨 | `options.getMetadataIndexingOptions()`가 설정되어 있고 필드를 무시하도록 설정되지 않았는지 확인하세요 | + +## Frequently Asked Questions + +**Q: GroupDocs.Search 임시 라이선스는 어떻게 얻나요?** +A: [GroupDocs 임시 라이선스 페이지](https://purchase.groupdocs.com/temporary-license/)를 방문하세요. + +**Q: 인덱싱 작업을 중간에 취소할 수 있나요?** +A: 예 – `cancelAfter()`를 사용하거나 프로그래밍 방식으로 `Cancellation.cancel()`을 호출하면 됩니다. + +**Q: 비동기 인덱싱의 활용 사례는 무엇인가요?** +A: 실시간 문서 검색, 백그라운드 배치 처리, UI 응답성을 유지하는 애플리케이션 등에 비동기 인덱싱이 도움이 됩니다. + +**Q: 공유 서버에서 스레드 수를 늘려도 안전한가요?** +A: 점진적으로 늘리고 CPU 부하를 모니터링하세요; 공유 환경이 많이 사용되는 경우 스레드 수를 적당히 유지(2‑4)하는 것이 좋습니다. + +**Q: 메타데이터 인덱싱이 검색 관련성에 어떤 영향을 미치나요?** +A: 올바르게 인덱싱된 메타데이터(작성자, 생성일, 태그 등)는 쿼리에서 높은 가중치를 부여받아 결과 정확성을 향상시킵니다. + +## Conclusion + +GroupDocs.Search for Java의 이러한 고급 기능을 활용하면 빠른 문서 수집부터 세밀한 메타데이터 제어에 이르기까지 다양한 시나리오에서 **검색 성능을 최적화**할 수 있습니다. 다양한 설정을 실험하고 리소스 사용량을 모니터링하며 워크로드에 맞게 조정하여 최상의 결과를 얻으세요. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/polish/java/getting-started/_index.md b/content/polish/java/getting-started/_index.md new file mode 100644 index 00000000..eec71eef --- /dev/null +++ b/content/polish/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Przewodnik krok po kroku, jak skonfigurować GroupDocs.Search dla programistów + Java, obejmujący instalację, licencjonowanie i tworzenie pierwszego rozwiązania + wyszukiwania. +title: 'Jak skonfigurować GroupDocs.Search - samouczki wprowadzające dla Javy' +type: docs +url: /pl/java/getting-started/ +weight: 1 +--- + +# Jak skonfigurować GroupDocs.Search - Samouczki wprowadzające dla Javy + +Welcome to the ultimate guide on **how to configure GroupDocs.Search** for Java applications. In this tutorial you’ll learn the essential steps to install the library, set up licensing, and build your first searchable document solution. Whether you’re starting a new project or integrating search into an existing codebase, this walkthrough gives you everything you need to get up and running quickly. + +## Szybkie odpowiedzi +- **What is the first step?** Install the GroupDocs.Search Java package via Maven or Gradle. +- **Do I need a license?** Yes—a temporary license works for development; a full license is required for production. +- **Which IDE works best?** Any Java IDE (IntelliJ IDEA, Eclipse, VS Code) that supports Maven/Gradle projects. +- **Can I index PDFs and Word files?** Absolutely—GroupDocs.Search supports a wide range of document formats out of the box. +- **How long does setup take?** Typically under 15 minutes for a fresh project. + +## Co oznacza „jak skonfigurować GroupDocs.Search”? +Configuring GroupDocs.Search means preparing the library to index documents, defining storage locations, and applying your license key so the API can operate without restrictions. Proper configuration ensures fast, accurate search results and smooth integration with your Java code. + +## Dlaczego konfigurować GroupDocs.Search dla Javy? +- **Rapid implementation** – Minimal code is required to start indexing and searching. +- **Scalable indexing** – Handles large document collections without performance loss. +- **Broad format support** – Works with PDFs, DOCX, XLSX, PPTX, and many other file types. +- **Secure licensing** – Guarantees compliance and unlocks all premium features. + +## Wymagania wstępne +- Java Development Kit (JDK) 8 or higher. +- Maven 3 or Gradle 5 for dependency management. +- Access to a temporary or full GroupDocs.Search license key. + +## Przewodnik krok po kroku + +### Krok 1: Dodaj GroupDocs.Search do swojego projektu +Include the GroupDocs.Search dependency in your `pom.xml` (Maven) or `build.gradle` (Gradle). This makes the library available for your code. + +### Krok 2: Zastosuj swoją licencję +Create a `License` object and load your temporary or permanent license file. This step unlocks full functionality and removes evaluation limits. + +### Krok 3: Zainicjalizuj ustawienia indeksu +Define where the index files will be stored on disk and configure any custom indexing options you need (e.g., case sensitivity, stop words). + +### Krok 4: Zindeksuj swoje dokumenty +Use the `Indexer` class to add files or folders to the index. GroupDocs.Search automatically detects file types and extracts searchable text. + +### Krok 5: Wykonaj zapytanie wyszukiwania +Create a `SearchOptions` object, specify the query string, and execute the search. The API returns a list of matching documents with relevance scores. + +### Krok 6: Przejrzyj wyniki +Iterate over the search results, display file names, and optionally highlight matching terms in the UI. + +## Typowe problemy i rozwiązania +- **License not recognized** – Verify the license file path and ensure it matches the version of GroupDocs.Search you’re using. +- **Missing document formats** – Install the optional `groupdocs-conversion` add‑on if you need support for less common file types. +- **Performance bottlenecks** – Use incremental indexing and configure the index folder on SSD storage for faster access. + +## Najczęściej zadawane pytania + +**Q: Czy mogę używać GroupDocs.Search na serwerze Linux?** +A: Yes, the library is platform‑independent and runs on any OS that supports Java. + +**Q: Jak zaktualizować indeks po dodaniu nowych plików?** +A: Call the `Indexer` again with the new files; the library will merge them into the existing index. + +**Q: Czy istnieje sposób, aby ograniczyć wyniki wyszukiwania do konkretnego folderu?** +A: Yes, set the `SearchOptions` to include a folder filter before executing the query. + +**Q: Co się stanie, jeśli przekroczę okres tymczasowej licencji?** +A: The API will continue to work in evaluation mode with limited features; replace the license file with a permanent key to restore full functionality. + +**Q: Czy GroupDocs.Search obsługuje wyszukiwanie przybliżone (fuzzy search)?** +A: Absolutely—enable fuzzy matching in the `SearchOptions` to retrieve results with minor spelling variations. + +## Dodatkowe zasoby + +### Dostępne samouczki + +### [Wdrożenie GroupDocs.Search dla Javy: Kompletny przewodnik konfiguracji](./deploy-groupdocs-search-java-setup-guide/) +Learn how to deploy and configure GroupDocs.Search for Java with this step-by-step guide. Enhance document indexing and search capabilities in your projects. + +### Przydatne linki +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/polish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/polish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..3e925304 --- /dev/null +++ b/content/polish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Dowiedz się, jak wyczyścić katalog w Javie, zautomatyzować zarządzanie + dokumentami i zmieniać nazwy plików przy użyciu GroupDocs.Search dla Javy. Zwiększ + wydajność swoich aplikacji. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Czyszczenie katalogu w Javie – Automatyzacja indeksowania i zmiany nazw +type: docs +url: /pl/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automate Document Indexing and Renaming Using GroupDocs.Search + +Jeśli potrzebujesz **clean directory java** przy automatyzacji indeksowania dokumentów i zmiany ich nazw, trafiłeś we właściwe miejsce. Ręczne obsługiwanie przenoszenia plików, usuwania i aktualizacji indeksu jest podatne na błędy i czasochłonne. W tym poradniku pokażemy, jak pozwolić Javie wykonać ciężką pracę, używając **GroupDocs.Search for Java** do tworzenia przeszukiwalnego indeksu, zmiany nazw plików i automatycznego utrzymywania indeksu w synchronizacji. + +## Szybkie odpowiedzi +- **Co oznacza „clean directory java”?** Usuwanie wszystkich plików/katalogów wewnątrz docelowego katalogu przy użyciu kodu Java. +- **Która biblioteka tworzy przeszukiwalny indeks?** GroupDocs.Search for Java. +- **Jak zmienić nazwę dokumentu i utrzymać indeks aktualny?** Użyj `File.renameTo()`, a następnie powiadom indeks za pomocą `Notification.createRenameNotification`. +- **Czy mogę kopiować pliki po wyczyszczeniu folderu?** Tak – Java Streams mogą kopiować pliki, zachowując indeks. +- **Czy wymagana jest licencja do produkcji?** Wymagana jest ważna licencja GroupDocs.Search do użytku komercyjnego. + +## Co to jest „clean directory java”? +Czyszczenie katalogu w Javie oznacza programowe usuwanie każdego pliku i podkatalogu wewnątrz określonego folderu. Często jest to wstępny krok przed kopiowaniem nowych plików lub odbudową indeksu, zapewniając, że przestarzałe dane nie będą zakłócać wyników wyszukiwania. + +## Dlaczego automatyzować indeksowanie dokumentów i zmianę nazw? +- **Automatyzacja zarządzania dokumentami** zmniejsza ręczny wysiłek i eliminuje błędy ludzkie. +- Krok **tworzenia przeszukiwalnego indeksu** pozwala natychmiast znaleźć dowolny dokument po jego zawartości. +- Zmiana nazw plików bez aktualizacji indeksu zepsuje dokładność wyszukiwania; automatyzacja utrzymuje wszystko spójne. + +## Wymagania wstępne + +- **GroupDocs.Search for Java** (Wersja 25.4 lub nowsza) +- JDK 8 + oraz IDE, takie jak IntelliJ IDEA lub Eclipse +- Podstawowa znajomość Javy, szczególnie I/O plików + +## Konfiguracja GroupDocs.Search for Java + +### Maven Dependency +Dodaj repozytorium i zależność do swojego `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternatywnie, pobierz najnowszą wersję z [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Uzyskaj darmową wersję próbną, tymczasową licencję ewaluacyjną lub zakup pełną licencję do użytku produkcyjnego. + +### Basic Initialization +Utwórz instancję `Index`, która będzie przechowywać przeszukiwalne dane: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Przewodnik implementacji + +### 1. Dodaj dokumenty do indeksu (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Wyjaśnienie*: +- `indexFolder` – miejsce, w którym przechowywane są pliki indeksu. +- `documentFolder` – folder źródłowy zawierający pliki, które chcesz udostępnić do przeszukiwania. + +### 2. Zmień nazwę dokumentu i powiadom indeks + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Wyjaśnienie*: +- `File.renameTo()` w Javie wykonuje fizyczną zmianę nazwy. +- `Notification.createRenameNotification()` informuje GroupDocs.Search, że nazwa pliku została zmieniona, utrzymując indeks w dokładności. + +## Clean Directory Java – Czyszczenie katalogu i kopiowanie plików + +Utrzymanie porządku w folderze przed masowym kopiowaniem zapobiega duplikatom lub osieroconym plikom. Poniżej znajdują się dwa wielokrotnego użytku fragmenty kodu. + +### Krok 1: Usuń zawartość folderu (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Wyjaśnienie*: +- `Files.walk()` przegląda każdy plik i podfolder. +- Sortowanie w odwrotnej kolejności zapewnia usunięcie plików przed ich katalogami nadrzędnymi, skutecznie **delete folder contents**. + +### Krok 2: Kopiuj pliki (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Wyjaśnienie*: +- Strumień filtruje tylko zwykłe pliki, a następnie kopiuje każdy do katalogu docelowego, nadpisując istniejące pliki w razie potrzeby. + +## Praktyczne zastosowania + +- **Enterprise Document Management** – Automatyzuj indeksowanie tysięcy umów i utrzymuj nazwy plików w synchronizacji. +- **Legal Firms** – Szybko zmieniaj nazwy akt spraw, zachowując przeszukiwalną zawartość. +- **Content Management Systems** – Użyj wzorca clean‑directory do odświeżania folderów mediów bez ręcznego czyszczenia. + +## Rozważania dotyczące wydajności + +- **Rozmiar indeksu** – Okresowo kompaktuj indeks, jeśli rośnie. +- **Użycie pamięci** – Przetwarzaj pliki w partiach, aby uniknąć `OutOfMemoryError`. +- **Współbieżność** – W przypadku operacji masowych rozważ użycie `ExecutorService` w Javie do równoległego czyszczenia i kopiowania. + +## Typowe problemy i wskazówki + +| Problem | Przyczyna | Rozwiązanie | +|---------|-----------|-------------| +| Zmiana nazwy nie powiodła się | Plik jest zablokowany lub ścieżka jest nieprawidłowa | Upewnij się, że plik nie jest otwarty w innym miejscu; użyj `Files.move` dla bardziej niezawodnych zmian nazw. | +| Indeks nie aktualizuje się | Powiadomienie nie zostało wysłane | Zawsze wywołuj `index.notifyIndex(notification)`, a następnie `index.update()`. | +| Przestarzałe wyniki wyszukiwania po kopiowaniu | Indeks nadal wskazuje na stare pliki | Ponownie dodaj folder docelowy do indeksu lub wywołaj `index.update()` po kopiowaniu. | + +## Najczęściej zadawane pytania + +**Q: Czy mogę wyczyścić katalog zawierający podfoldery?** +A: Tak. Podejście `Files.walk()` rekurencyjnie usuwa wszystkie zagnieżdżone pliki i foldery. + +**Q: Czy muszę przebudowywać cały indeks po każdej zmianie nazwy?** +A: Nie. Wysłanie powiadomienia o zmianie nazwy i wywołanie `index.update()` jest wystarczające. + +**Q: Jak duży katalog mogę wyczyścić, zanim napotkam ograniczenia wydajności?** +A: To zależy od pamięci JVM; przetwarzanie w mniejszych partiach lub używanie strumieni pomaga zarządzać dużymi zestawami danych. + +**Q: Czy GroupDocs.Search jest darmowy do rozwoju?** +A: Dostępna jest darmowa wersja próbna, ale płatna licencja jest wymagana do użytku produkcyjnego. + +**Q: Czy mogę używać tego podejścia z innymi typami plików (np. PDF, DOCX)?** +A: Oczywiście. GroupDocs.Search obsługuje wiele formatów; wystarczy dodać folder zawierający te pliki do indeksu. + +## Zakończenie + +Masz teraz kompletną, gotową do produkcji rozwiązanie dla **clean directory java**, umożliwiające dodawanie dokumentów do przeszukiwalnego indeksu, zmianę nazw plików i utrzymywanie wszystkiego w synchronizacji z GroupDocs.Search. Zastosuj te wzorce, aby zautomatyzować przepływ pracy zarządzania dokumentami i cieszyć się szybszymi, bardziej niezawodnymi doświadczeniami wyszukiwania. + +--- + +**Ostatnia aktualizacja:** 2025-12-29 +**Testowano z:** GroupDocs.Search 25.4 +**Autor:** GroupDocs + +--- \ No newline at end of file diff --git a/content/polish/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/polish/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..f036e16f --- /dev/null +++ b/content/polish/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Dowiedz się, jak zarządzać hasłami dokumentów w Javie przy użyciu GroupDocs.Search, + tworzyć indeksy przeszukiwalne i efektywnie wyszukiwać w wielu dokumentach. +keywords: +- manage document passwords java +- search across multiple documents +title: Zarządzaj hasłami dokumentów w Javie przy użyciu GroupDocs.Search +type: docs +url: /pl/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Zarządzanie hasłami dokumentów w Javie przy użyciu GroupDocs.Search + +W nowoczesnych aplikacjach korporacyjnych **manage document passwords Java** jest kluczowym krokiem, aby utrzymać poufne pliki w bezpieczeństwie, jednocześnie umożliwiając szybkie i niezawodne wyszukiwanie. W tym przewodniku pokażemy, jak tworzyć i zarządzać indeksami przy użyciu GroupDocs.Search, bezpiecznie przechowywać hasła w słowniku indeksu oraz **wyszukiwać w wielu dokumentach** z łatwością. Niezależnie od tego, czy budujesz system zarządzania dokumentami, czy dodajesz wyszukiwanie do istniejącej aplikacji Java, poniższe kroki pozwolą Ci szybko rozpocząć pracę. + +## Szybkie odpowiedzi +- **Co oznacza „manage document passwords Java”?** Odwołuje się do przechowywania i pobierania haseł do chronionych plików bezpośrednio w indeksie wyszukiwania. +- **Czy mogę indeksować pliki chronione hasłem?** Tak — dodaj hasła do słownika indeksu przed indeksowaniem. +- **Ile dokumentów mogę przeszukiwać jednocześnie?** GroupDocs.Search może **wyszukiwać w wielu dokumentach** w jednej zapytaniu. +- **Czy potrzebuję licencji do produkcji?** Licencja jest wymagana do użytku produkcyjnego; dostępna jest darmowa wersja próbna do oceny. +- **Jakiej wersji Javy wymaga się?** JDK 8 lub wyższy. + +## Co to jest „manage document passwords Java”? +Przechowywanie haseł dokumentów w indeksie wyszukiwania pozwala silnikowi automatycznie otwierać chronione pliki podczas indeksowania i wyszukiwania, eliminując potrzebę ręcznego wprowadzania hasła za każdym razem. + +## Dlaczego używać GroupDocs.Search do tego zadania? +- **Wbudowany słownik haseł** – przechowuj hasła powiązane ze ścieżkami plików. +- **Wysokowydajne indeksowanie** – obsługuje tysiące plików szybko. +- **Bogaty język zapytań** – obsługuje złożone wyszukiwania w wielu typach dokumentów. + +## Wymagania wstępne +- **JDK 8+** zainstalowane. +- **Maven** do zarządzania zależnościami. +- Podstawowa znajomość Javy (obsługa plików, klasy). + +## Konfiguracja GroupDocs.Search dla Javy + +Dodaj repozytorium i zależność do swojego `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Możesz również pobrać bibliotekę bezpośrednio ze strony oficjalnych wydań: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Inicjalizacja indeksu + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Jak zarządzać hasłami dokumentów w Javie? + +### 1. Zdefiniuj folder indeksu i utwórz indeks +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Wyczyść istniejące hasła (jeśli są) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Dodaj hasło dla konkretnego dokumentu +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Pobierz i usuń hasło +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Dodaj hasła do wielu dokumentów +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Jak indeksować dokumenty z hasłami? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Jak wyszukiwać w wielu dokumentach? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Praktyczne zastosowania +- **Enterprise Document Management** – bezpieczne, przeszukiwalne archiwa. +- **Content Management Platforms** – szybkie odzyskiwanie chronionych zasobów. +- **Legal Document Repositories** – zachowanie poufności przy jednoczesnym umożliwieniu pełnotekstowego wyszukiwania. + +## Rozważania dotyczące wydajności +- **Parallel Indexing** – używaj wielu wątków do dużych partii. +- **Memory Monitoring** – monitoruj pamięć JVM podczas masowych importów. +- **Regular Index Maintenance** – przeprowadzaj ponowne indeksowanie, gdy pliki się zmieniają lub hasła są aktualizowane. + +## Zakończenie +Teraz wiesz, jak **manage document passwords Java** przy użyciu GroupDocs.Search, tworzyć solidne indeksy i wykonywać potężne **search across multiple documents**. Integrując te kroki w swojej aplikacji, zapewnisz bezpieczne, szybkie i skalowalne doświadczenia wyszukiwania. + +**Kolejne kroki** +- Wypróbuj zaawansowane operatory zapytań (wildcards, fuzzy search). +- Zbadaj indeksowanie przyrostowe dla aktualizacji w czasie rzeczywistym. +- Połącz z innymi produktami GroupDocs do konwersji PDF lub adnotacji. + +## Najczęściej zadawane pytania + +**Q: Czy mogę indeksować dużą ilość dokumentów?** +A: Tak, GroupDocs.Search jest zaprojektowany do efektywnego obsługiwania rozległych zbiorów. + +**Q: Czy można zaktualizować istniejący indeks o nowe dokumenty?** +A: Oczywiście! Możesz dodawać lub usuwać dokumenty z indeksu w razie potrzeby. + +**Q: Jak zapewnić bezpieczeństwo danych w indeksie?** +A: Użyj słownika haseł dokumentów i przechowuj indeks w chronionym katalogu. + +**Q: Czy GroupDocs.Search obsługuje różne formaty plików?** +A: Tak, obsługuje PDF‑y, pliki Word, arkusze Excel i wiele innych popularnych formatów. + +**Q: Co zrobić, jeśli napotkam problemy z wydajnością podczas indeksowania?** +A: Rozważ włączenie przetwarzania równoległego, zwiększenie rozmiaru sterty lub dostosowanie ustawień indeksu. + +--- + +**Ostatnia aktualizacja:** 2025-12-29 +**Testowano z:** GroupDocs.Search 25.4 for Java +**Autor:** GroupDocs + +**Zasoby** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/polish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/polish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..cb1c0742 --- /dev/null +++ b/content/polish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: „Dowiedz się, jak indeksować dokumenty Java i tworzyć indeks wyszukiwania + przy użyciu GroupDocs.Search dla Javy. Ten przewodnik obejmuje konfigurację, indeksowanie, + wyszukiwanie oraz efektywne zarządzanie dokumentami.” +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Jak indeksować dokumenty Java przy użyciu GroupDocs.Search – Efektywne wyszukiwanie +type: docs +url: /pl/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Jak indeksować dokumenty Java za pomocą GroupDocs.Search – Efektywne wyszukiwanie + +## Wprowadzenie + +Czy przytłacza Cię ogromna liczba dokumentów i zastanawiasz się **jak szybko indeksować pliki java**? Wiele firm i osób codziennie staje przed tym wyzwaniem. **GroupDocs.Search for Java** oferuje wydajne rozwiązanie, które usprawnia wyszukiwanie dokumentów, czyniąc proces szybszym i łatwiejszym do zarządzania. + +W tym poradniku pokażemy, jak używać GroupDocs.Search for Java do stworzenia indeksowanego repozytorium Twoich dokumentów. Nauczysz się, jak ładować dokumenty z systemu plików, wykonywać wyszukiwania, zarządzać usuwaniem oraz efektywnie i skalowalnie pobierać dane z indeksu. + +**Czego się nauczysz:** +- Konfigurowania i ustawiania GroupDocs.Search for Java. +- **Tworzenia indeksu wyszukiwania** i indeksowania dokumentów ze strumieni. +- Ładowania dokumentów z systemu plików. +- **Wykonywania wyszukiwania słów kluczowych** w Twoim indeksie. +- **Jak usuwać indeks** dla konkretnych dokumentów. +- Pobierania indeksowanych dokumentów po usunięciach. + +Gotowy, aby zrewolucjonizować sposób zarządzania wyszukiwaniem dokumentów? Zaczynamy od wymagań wstępnych! + +## Szybkie odpowiedzi +- **Jaki jest główny cel?** Efektywne indeksowanie i wyszukiwanie dokumentów Java. +- **Jakiej biblioteki potrzebujesz?** GroupDocs.Search for Java (v25.4+). +- **Czy potrzebna jest licencja?** Dostępna jest darmowa wersja próbna lub tymczasowa licencja; stała licencja jest wymagana w środowisku produkcyjnym. +- **Czy mogę usuwać dokumenty z indeksu?** Tak, przy użyciu metody `delete` z kluczami dokumentów. +- **Czy Apache Commons IO jest obowiązkowe?** Jest zalecane do obsługi plików. + +## Co to jest „jak indeksować java”? +Indeksowanie dokumentów Java oznacza tworzenie struktury danych (indeksu), która mapuje zawartość dokumentu na terminy wyszukiwane, umożliwiając szybkie odnalezienie odpowiednich plików na podstawie zapytań słowami kluczowymi. + +## Dlaczego warto używać GroupDocs.Search for Java? +- **Szybkość:** Optymalizowane algorytmy zapewniają szybkie wyniki zapytań nawet w dużych zbiorach. +- **Skalowalność:** Obsługuje tysiące dokumentów bez utraty wydajności. +- **Elastyczność:** Wspiera różne formaty plików i oferuje leniwe ładowanie dużych plików. +- **Łatwa integracja:** Prosta konfiguracja Maven i przejrzyste API. + +## Wymagania wstępne + +Zanim zaczniemy, upewnij się, że masz następujące elementy: + +### Wymagane biblioteki i zależności +- **GroupDocs.Search for Java**: Upewnij się, że zainstalowana jest wersja 25.4 lub nowsza. +- **Apache Commons IO**: Potrzebne do narzędzi obsługi plików. + +### Wymagania środowiskowe +- Java Development Kit (JDK) 8 lub wyższy. +- Zintegrowane środowisko programistyczne (IDE) takie jak IntelliJ IDEA lub Eclipse. + +### Wymagania wiedzy +- Podstawowa znajomość programowania w Javie i koncepcji obiektowo‑zorientowanych. +- Znajomość Maven w zakresie zarządzania zależnościami jest przydatna, ale nieobowiązkowa. + +## Konfiguracja GroupDocs.Search for Java + +Ustawienie środowiska projektu z GroupDocs.Search odbywa się w kilku krokach przy użyciu Maven: + +**Konfiguracja Maven:** +Dodaj poniższe repozytorium i zależność do pliku `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Bezpośrednie pobranie:** +Alternatywnie, pobierz najnowszą wersję bezpośrednio z [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Kroki uzyskania licencji +- **Darmowa wersja próbna:** Rozpocznij od wersji próbnej, aby przetestować możliwości. +- **Licencja tymczasowa:** Złóż wniosek o licencję tymczasową, aby odkrywać wszystkie funkcje bez ograniczeń. +- **Zakup:** Rozważ zakup, jeśli spełnia Twoje potrzeby. + +**Podstawowa inicjalizacja i konfiguracja:** + +Gdy środowisko jest gotowe, zainicjalizuj GroupDocs.Search w następujący sposób: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Jak indeksować dokumenty Java przy użyciu GroupDocs.Search + +### Tworzenie i indeksowanie dokumentów + +**Przegląd:** Dowiedz się, jak utworzyć indeks w określonym folderze i dodać dokumenty ze strumieni, upraszczając proces **tworzenia indeksu wyszukiwania**. + +#### Krok 1: Utwórz indeks +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parametry:** Pierwszy parametr to ścieżka katalogu, w którym będą przechowywane indeksy. Drugi parametr typu boolean włącza automatyczną aktualizację indeksu, jeśli już istnieje. + +#### Krok 2: Ładuj i dodawaj dokumenty ze strumienia +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Wyjaśnienie:** Tutaj tworzysz `DocumentLoader`, aby odczytać plik i przygotować go do indeksowania. Metoda `createLazy` służy do efektywnego obsługiwania dużych plików. + +### Ładowanie dokumentów z systemu plików + +**Przegląd:** Zaimplementuj własny loader, który odczytuje dokumenty bezpośrednio z systemu plików przy użyciu narzędzi Apache Commons IO. + +#### Krok 1: Zdefiniuj loader dokumentów +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Szczegóły:** Ta klasa odczytuje plik do tablicy bajtów i tworzy z niej obiekt `Document`. + +### Wykonywanie wyszukiwania słów kluczowych w indeksie + +**Przegląd:** Przeprowadzaj operacje wyszukiwania w indeksowanych dokumentach, aby szybko uzyskać istotne informacje. + +#### Krok 1: Wykonaj wyszukiwanie +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Wyjaśnienie:** Użyj metody `search` z prostym zapytaniem tekstowym, aby otrzymać wyniki z indeksowanych danych. To podejście jest wydajne w scenariuszach **java document search**. + +### Jak usuwać wpisy indeksu + +**Przegląd:** Zarządzaj swoim indeksem, usuwając konkretne dokumenty przy użyciu ich kluczy. + +#### Krok 1: Usuń dokument +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parametry:** Przekaż tablicę kluczy dokumentów, które chcesz usunąć z indeksu. `UpdateOptions` umożliwia elastyczne strategie usuwania. + +### Pobieranie indeksowanych dokumentów po usunięciu + +**Przegląd:** Po usunięciu dokumentów pobierz listę pozostałych plików w indeksie, aby zapewnić integralność danych. + +#### Krok 1: Pobierz pozostałe dokumenty +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Wyjaśnienie:** Ten krok pomaga zweryfikować aktualny stan indeksu po dowolnych usunięciach. + +## Praktyczne zastosowania + +GroupDocs.Search for Java jest wszechstronny i oferuje liczne przypadki użycia, takie jak: + +1. **Zarządzanie dokumentami w przedsiębiorstwie:** Szybkie przeszukiwanie firmowych dokumentów w celu zwiększenia produktywności. +2. **Analiza dokumentów prawnych:** Efektywne przeszukiwanie aktów spraw i tekstów prawnych w poszukiwaniu istotnych precedensów. +3. **Systemy katalogowania bibliotek:** Indeksowanie i zarządzanie dużymi zbiorami książek oraz rękopisów w celu łatwiejszego dostępu. + +## Wskazówki dotyczące wydajności + +Aby uzyskać optymalną wydajność: + +- **Optymalizacja indeksu:** Regularnie aktualizuj indeks, aby odzwierciedlał najnowsze zmiany w dokumentach. +- **Zarządzanie pamięcią:** Wykorzystuj mechanizmy garbage collection Javy, kontrolując operacje wymagające dużych zasobów. +- **Skalowalność:** Upewnij się, że strategia indeksowania radzi sobie z dużymi wolumenami danych bez degradacji wydajności. + +## Typowe problemy i rozwiązania + +| Problem | Przyczyna | Rozwiązanie | +|-------|-------|----------| +| **Brak wyników** | Terminy zapytania nie zostały zaindeksowane lub zostały odrzucone jako stop‑words | Sprawdź `IndexingOptions` i dostosuj listę stop‑words | +| **Błędy out‑of‑memory** | Ładowanie bardzo dużych plików bez leniwego ładowania | Użyj `Document.createLazy` lub zwiększ rozmiar sterty JVM | +| **Usunięte dokumenty nadal się pojawiają** | Indeks nie został odświeżony po usunięciu | Wywołaj `index.optimize()` lub ponownie otwórz indeks | + +## Najczęściej zadawane pytania + +**P: Czy mogę indeksować jednocześnie PDF‑y, DOCX‑y i PPTX‑y?** +O: Tak, GroupDocs.Search obsługuje szeroką gamę formatów „out of the box”. + +**P: Jak działa „jak usunąć indeks” w tle?** +O: Metoda `delete` usuwa wpisy na podstawie kluczy dokumentów i aktualizuje wewnętrzne listy postingów, aby utrzymać spójność indeksu. + +**P: Czy istnieje sposób monitorowania rozmiaru indeksu?** +O: Użyj `index.getStatistics()`, aby uzyskać informacje o liczbie dokumentów i rozmiarze przechowywania. + +**P: Czy muszę przebudowywać cały indeks po każdym usunięciu?** +O: Nie, operacja `delete` aktualizuje indeks inkrementalnie, zachowując istniejące dane. + +**P: Co zrobić, gdy muszę ponownie zaindeksować wszystkie dokumenty po zmianie schematu?** +O: Utwórz nową instancję `Index` z inną ścieżką folderu i ponownie dodaj wszystkie dokumenty. + +## Zakończenie + +Do tej pory powinieneś mieć solidne pojęcie o **tym, jak indeksować dokumenty java** i wykonywać szybkie wyszukiwania przy użyciu GroupDocs.Search for Java. Ta potężna biblioteka może zrewolucjonizować sposób zarządzania i odzyskiwania informacji z dużych zbiorów dokumentów, stając się nieocenionym narzędziem dla każdej organizacji. + +**Kolejne kroki:** +- Eksperymentuj z różnymi typami dokumentów i złożonymi zapytaniami. +- Poznaj zaawansowane funkcje, takie jak wyszukiwanie fasetowe, indeksowanie metadanych oraz własne analizatory. + +Gotowy, aby rozpocząć przygodę z indeksowaniem? Wdroż te techniki już dziś i doświadcz szybszego, bardziej precyzyjnego wyszukiwania dokumentów! + +--- + +**Ostatnia aktualizacja:** 2025-12-29 +**Testowano z:** GroupDocs.Search Java 25.4 +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/polish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/polish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..36376281 --- /dev/null +++ b/content/polish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Dowiedz się, jak optymalizować wydajność wyszukiwania, korzystając z + zaawansowanych funkcji indeksowania GroupDocs.Search dla Javy, w tym anulowania, + operacji asynchronicznych, wielowątkowości i dostosowywania metadanych. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optymalizuj wydajność wyszukiwania dzięki zaawansowanym technikom indeksowania + w GroupDocs.Search dla Javy +type: docs +url: /pl/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optymalizacja wydajności wyszukiwania przy użyciu zaawansowanych technik indeksowania w GroupDocs.Search dla Javy + +W dzisiejszym szybkim środowisku cyfrowym **optymalizacja wydajności wyszukiwania** jest niezbędna do dostarczania natychmiastowych wyników użytkownikom. Niezależnie od tego, czy tworzysz własną wyszukiwarkę, czy ulepszasz istniejący system zarządzania dokumentami, odpowiednia strategia indeksowania może znacząco zmniejszyć opóźnienia i zużycie zasobów. W tym samouczku przeprowadzimy Cię przez najpotężniejsze funkcje GroupDocs.Search dla Javy — anulowanie, asynchroniczne indeksowanie, wielowątkowość i dostosowywanie metadanych — abyś mógł **add documents index** szybciej i wydajniej. + +**Czego się nauczysz** + +- Jak anulować operację indeksowania po określonym czasie +- Wykonywanie asynchronicznych operacji indeksowania i obsługa zmian statusu +- Konfigurowanie wielowątkowości w celu szybszego indeksowania +- Dostosowywanie opcji indeksowania metadanych + +Upewnijmy się, że masz wszystko, czego potrzebujesz, zanim przejdziemy do kodu. + +## Prerequisites + +- **GroupDocs.Search Library** – wersja 25.4 lub nowsza. +- **Java Development Environment** – zalecany JDK 8 lub wyższy. +- Podstawowa znajomość Javy i koncepcji indeksowania. + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +Dodaj repozytorium i zależność do pliku `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +Alternatywnie, pobierz najnowszy plik JAR z [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Rozpocznij od darmowej wersji próbnej lub poproś o tymczasową licencję, aby odblokować pełny zestaw funkcji. + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **Co robi anulowanie?** Zatrzymuje indeksowanie po określonym czasie, aby zwolnić zasoby. +- **Czy mogę indeksować dokumenty asynchronicznie?** Tak – ustaw `options.setAsync(true)`. +- **Ile wątków mogę używać?** Dowolna dodatnia liczba całkowita; typowe wartości to 2‑4 dla większości serwerów. +- **Czy indeksowanie metadanych jest opcjonalne?** Absolutnie – możesz włączyć je lub dopasować per pole. +- **Czy potrzebuję licencji na te funkcje?** Wersja próbna działa do testów; pełna licencja jest wymagana w produkcji. + +## What Is “Optimize Search Performance” in This Context? + +Optymalizacja wydajności wyszukiwania oznacza skonfigurowanie procesu indeksowania tak, aby zużywał odpowiednią ilość CPU, pamięci i czasu, jednocześnie dostarczając natychmiastowo najbardziej istotne wyniki. Kontrolując anulowanie, asynchroniczne wykonywanie, wątkowanie i obsługę metadanych, bezpośrednio wpływasz na to, jak szybko silnik może **add documents index** i odpowiadać na zapytania. + +## Why Use Advanced Indexing Features? + +- **Zredukowane opóźnienie** – Asynchroniczne i wielowątkowe indeksowanie utrzymuje responsywność aplikacji. +- **Lepsze zarządzanie zasobami** – Anulowanie zapobiega niekontrolowanym procesom. +- **Dostosowana trafność wyszukiwania** – Opcje metadanych pozwalają wyświetlać najważniejsze informacje. + +## Implementation Guide + +### Cancellation Property + +**Przegląd** – Anuluj indeksowanie po określonym czasie, aby uniknąć nadmiernego zużycia zasobów. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` aktywuje funkcję. +- `cancelAfter(int milliseconds)` definiuje limit czasu (3 sekundy w tym przykładzie). + +### Asynchronous Property + +**Przegląd** – Uruchom indeksowanie w tle i nasłuchuj zmian statusu. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Przegląd** – Przyspiesz indeksowanie, wykorzystując wiele rdzeni CPU. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Przegląd** – Dostosuj, które metadane dokumentu są indeksowane i jak są przechowywane. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **Systemy zarządzania dokumentami** – Użyj asynchronicznego indeksowania, aby interfejs był responsywny, podczas gdy duże partie są przetwarzane w tle. +2. **Silniki wyszukiwania treści** – Zastosuj anulowanie, aby zapobiec długotrwałym zadaniom pochłaniającym zasoby serwera w szczycie ruchu. +3. **Duże potoki ingestii** – Wykorzystaj wielowątkowość, aby **add documents index** na dużą skalę, dramatycznie skracając czas przetwarzania. + +## Performance Considerations + +- **Zarządzanie wątkami** – Monitoruj użycie CPU; zbyt wiele wątków może powodować narzut przełączania kontekstu. +- **Ślad pamięci** – Limity metadanych (np. `setMaxBytesToIndexField`) pomagają utrzymać przewidywalne zużycie pamięci. +- **Garbage Collection** – Używaj odpowiednich flag JVM (`-Xmx`, `-XX:+UseG1GC`) przy indeksowaniu ogromnych korpusów. + +## Common Issues and Solutions + +| Objaw | Prawdopodobna przyczyna | Rozwiązanie | +|---------|--------------|-----| +| Indeksowanie nigdy się nie kończy | Anulowanie ustawione zbyt nisko | Zwiększ wartość `cancelAfter` lub usuń anulowanie dla długich zadań | +| Brak aktualizacji statusu w trybie async | Obsługa zdarzenia nie została poprawnie podłączona | Upewnij się, że `index.getEvents().StatusChanged.add(...)` jest wywoływane przed `index.add` | +| Błędy out‑of‑memory | Zbyt wiele wątków lub wysokie limity metadanych | Zmniejsz `options.setThreads` i obniż limity pól metadanych | +| Brak metadanych w wynikach | Indeksowanie metadanych wyłączone | Sprawdź, czy `options.getMetadataIndexingOptions()` jest skonfigurowane i nie ustawione na ignorowanie pól | + +## Frequently Asked Questions + +**P: Jak uzyskać tymczasową licencję dla GroupDocs.Search?** +O: Odwiedź [stronę tymczasowej licencji GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**P: Czy mogę anulować operację indeksowania w połowie?** +O: Tak – użyj właściwości anulowania z `cancelAfter()` lub wywołaj programowo `Cancellation.cancel()`. + +**P: Jakie są przykłady zastosowań asynchronicznego indeksowania?** +O: Pobieranie dokumentów w czasie rzeczywistym, przetwarzanie wsadowe w tle oraz aplikacje z responsywnym UI korzystają z asynchronicznego indeksowania. + +**P: Czy bezpiecznie zwiększyć liczbę wątków na współdzielonym serwerze?** +O: Zwiększaj stopniowo i monitoruj obciążenie CPU; w silnie współdzielonych środowiskach utrzymuj umiarkowaną liczbę wątków (2‑4). + +**P: Jak indeksowanie metadanych wpływa na trafność wyszukiwania?** +O: Poprawnie zaindeksowane metadane (autor, data utworzenia, tagi) mogą mieć wyższą wagę w zapytaniach, zwiększając dokładność wyników. + +## Conclusion + +Korzystając z tych zaawansowanych funkcji GroupDocs.Search dla Javy, **zoptymalizujesz wydajność wyszukiwania** w różnych scenariuszach — od szybkiej ingestii dokumentów po precyzyjną kontrolę metadanych. Eksperymentuj z różnymi konfiguracjami, monitoruj zużycie zasobów i dostosuj ustawienia do swojego konkretnego obciążenia, aby uzyskać najlepsze wyniki. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/portuguese/java/getting-started/_index.md b/content/portuguese/java/getting-started/_index.md new file mode 100644 index 00000000..10763ec7 --- /dev/null +++ b/content/portuguese/java/getting-started/_index.md @@ -0,0 +1,100 @@ +--- +date: 2025-12-29 +description: Guia passo a passo sobre como configurar o GroupDocs.Search para desenvolvedores + Java, abrangendo instalação, licenciamento e criação da sua primeira solução de + pesquisa. +title: 'Como Configurar o GroupDocs.Search - Tutoriais de Iniciação para Java' +type: docs +url: /pt/java/getting-started/ +weight: 1 +--- + +# Como Configurar o GroupDocs.Search - Tutoriais de Introdução para Java + +Bem‑vindo ao guia definitivo sobre **como configurar o GroupDocs.Search** para aplicações Java. Neste tutorial você aprenderá os passos essenciais para instalar a biblioteca, configurar a licença e criar sua primeira solução de documentos pesquisáveis. Seja iniciando um novo projeto ou integrando busca a uma base de código existente, este passo a passo fornece tudo o que você precisa para começar rapidamente. + +## Respostas Rápidas +- **Qual é o primeiro passo?** Instale o pacote GroupDocs.Search Java via Maven ou Gradle. +- **Preciso de uma licença?** Sim—uma licença temporária funciona para desenvolvimento; uma licença completa é necessária para produção. +- **Qual IDE funciona melhor?** Qualquer IDE Java (IntelliJ IDEA, Eclipse, VS Code) que suporte projetos Maven/Gradle. +- **Posso indexar PDFs e arquivos Word?** Absolutamente—o GroupDocs.Search suporta uma ampla variedade de formatos de documento nativamente. +- **Quanto tempo leva a configuração?** Normalmente menos de 15 minutos para um projeto novo. + +## O que é “como configurar o GroupDocs.Search”? +Configurar o GroupDocs.Search significa preparar a biblioteca para indexar documentos, definir locais de armazenamento e aplicar sua chave de licença para que a API possa operar sem restrições. Uma configuração correta garante resultados de busca rápidos e precisos e integração suave com seu código Java. + +## Por que configurar o GroupDocs.Search para Java? +- **Implementação rápida** – Pouco código é necessário para começar a indexar e buscar. +- **Indexação escalável** – Lida com grandes coleções de documentos sem perda de desempenho. +- **Suporte amplo a formatos** – Funciona com PDFs, DOCX, XLSX, PPTX e muitos outros tipos de arquivo. +- **Licenciamento seguro** – Garante conformidade e desbloqueia todos os recursos premium. + +## Pré‑requisitos +- Java Development Kit (JDK) 8 ou superior. +- Maven 3 ou Gradle 5 para gerenciamento de dependências. +- Acesso a uma chave de licença temporária ou completa do GroupDocs.Search. + +## Guia Passo a Passo + +### Etapa 1: Adicionar o GroupDocs.Search ao Seu Projeto +Inclua a dependência GroupDocs.Search no seu `pom.xml` (Maven) ou `build.gradle` (Gradle). Isso disponibiliza a biblioteca para o seu código. + +### Etapa 2: Aplicar Sua Licença +Crie um objeto `License` e carregue seu arquivo de licença temporária ou permanente. Esta etapa desbloqueia a funcionalidade completa e remove limites de avaliação. + +### Etapa 3: Inicializar as Configurações de Índice +Defina onde os arquivos de índice serão armazenados em disco e configure quaisquer opções de indexação personalizadas que você precisar (por exemplo, sensibilidade a maiúsculas/minúsculas, palavras‑stop). + +### Etapa 4: Indexar Seus Documentos +Use a classe `Indexer` para adicionar arquivos ou pastas ao índice. O GroupDocs.Search detecta automaticamente os tipos de arquivo e extrai o texto pesquisável. + +### Etapa 5: Executar uma Consulta de Busca +Crie um objeto `SearchOptions`, especifique a string de consulta e execute a busca. A API retorna uma lista de documentos correspondentes com pontuações de relevância. + +### Etapa 6: Revisar os Resultados +Itere sobre os resultados da busca, exiba os nomes dos arquivos e, opcionalmente, destaque os termos correspondentes na interface do usuário. + +## Problemas Comuns e Soluções +- **Licença não reconhecida** – Verifique o caminho do arquivo de licença e assegure‑se de que ele corresponde à versão do GroupDocs.Search que você está usando. +- **Formatos de documento ausentes** – Instale o add‑on opcional `groupdocs-conversion` se precisar de suporte a tipos de arquivo menos comuns. +- **Gargalos de desempenho** – Use indexação incremental e configure a pasta de índice em armazenamento SSD para acesso mais rápido. + +## Perguntas Frequentes + +**Q: Posso usar o GroupDocs.Search em um servidor Linux?** +A: Sim, a biblioteca é independente de plataforma e funciona em qualquer SO que suporte Java. + +**Q: Como atualizo o índice após adicionar novos arquivos?** +A: Chame o `Indexer` novamente com os novos arquivos; a biblioteca os mesclará ao índice existente. + +**Q: Existe uma forma de limitar os resultados da busca a uma pasta específica?** +A: Sim, defina o `SearchOptions` para incluir um filtro de pasta antes de executar a consulta. + +**Q: O que acontece se eu exceder o período da licença temporária?** +A: A API continuará a funcionar em modo de avaliação com recursos limitados; substitua o arquivo de licença por uma chave permanente para restaurar a funcionalidade completa. + +**Q: O GroupDocs.Search suporta busca difusa?** +A: Absolutamente—habilite a correspondência difusa em `SearchOptions` para obter resultados com pequenas variações ortográficas. + +## Recursos Adicionais + +### Tutoriais Disponíveis + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Aprenda como implantar e configurar o GroupDocs.Search para Java com este guia passo a passo. Aprimore a indexação de documentos e as capacidades de busca em seus projetos. + +### Links Úteis +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Última atualização:** 2025-12-29 +**Testado com:** GroupDocs.Search 23.12 for Java +**Autor:** GroupDocs + +--- \ No newline at end of file diff --git a/content/portuguese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/portuguese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..ae55a441 --- /dev/null +++ b/content/portuguese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Aprenda a limpar diretórios Java, automatizar a gestão de documentos + e renomear arquivos usando o GroupDocs.Search para Java. Aumente a eficiência em + suas aplicações. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Limpar Diretório Java – Automatizar Indexação e Renomeação +type: docs +url: /pt/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatize a Indexação e Renomeação de Documentos Usando GroupDocs.Search + +Se você precisa **clean directory java** enquanto automatiza a indexação e renomeação de documentos, está no lugar certo. Manipular manualmente movimentação de arquivos, exclusões e atualizações de índice é propenso a erros e consome tempo. Neste tutorial vamos mostrar como deixar o Java fazer o trabalho pesado, usando **GroupDocs.Search for Java** para criar um índice pesquisável, renomear arquivos e manter o índice sincronizado automaticamente. + +## Quick Answers +- **O que significa “clean directory java”?** Excluir todos os arquivos/pastas dentro de um diretório alvo usando código Java. +- **Qual biblioteca cria o índice pesquisável?** GroupDocs.Search for Java. +- **Como renomeio um documento e mantenho o índice atualizado?** Use `File.renameTo()` e depois notifique o índice com `Notification.createRenameNotification`. +- **Posso copiar arquivos após limpar a pasta?** Sim – Java Streams podem copiar arquivos preservando o índice. +- **É necessária uma licença para produção?** Uma licença válida do GroupDocs.Search é necessária para uso comercial. + +## What is “clean directory java”? +Limpar um diretório em Java significa remover programaticamente cada arquivo e sub‑pasta dentro de uma pasta especificada. Isso costuma ser um passo prévio antes de copiar novos arquivos ou reconstruir um índice, garantindo que dados obsoletos não interfiram nos resultados de busca. + +## Why automate document indexing and renaming? +- **Document management automation** reduz o esforço manual e elimina erros humanos. +- Uma etapa de **create searchable index** permite localizar instantaneamente qualquer documento pelo conteúdo. +- Renomear arquivos sem atualizar o índice quebraria a precisão da busca; a automação mantém tudo consistente. + +## Prerequisites + +- **GroupDocs.Search for Java** (Versão 25.4 ou posterior) +- JDK 8 + e uma IDE como IntelliJ IDEA ou Eclipse +- Conhecimento básico de Java, especialmente I/O de arquivos + +## Setting Up GroupDocs.Search for Java + +### Maven Dependency +Adicione o repositório e a dependência ao seu `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternativamente, faça o download da versão mais recente em [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Obtenha um trial gratuito, uma licença de avaliação temporária ou adquira uma licença completa para uso em produção. + +### Basic Initialization +Crie uma instância de `Index` que armazenará os dados pesquisáveis: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementation Guide + +### 1. Add Documents to Index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explanation*: +- `indexFolder` – onde os arquivos do índice são armazenados. +- `documentFolder` – a pasta de origem que contém os arquivos que você deseja tornar pesquisáveis. + +### 2. Rename a Document and Notify the Index + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explanation*: +- `File.renameTo()` do Java realiza a renomeação física. +- `Notification.createRenameNotification()` informa ao GroupDocs.Search que o nome do arquivo mudou, mantendo o índice preciso. + +## Clean Directory Java – Directory Cleaning and File Copying + +Manter uma pasta organizada antes de uma cópia em massa evita arquivos duplicados ou órfãos. Abaixo estão dois trechos reutilizáveis. + +### Step 1: Delete Folder Contents (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explanation*: +- `Files.walk()` percorre cada arquivo e sub‑pasta. +- Ordenar em ordem reversa garante que os arquivos sejam removidos antes de seus diretórios pai, efetivamente **delete folder contents**. + +### Step 2: Copy Files (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explanation*: +- O stream filtra apenas arquivos regulares e, em seguida, copia cada um para o diretório de destino, sobrescrevendo arquivos existentes se necessário. + +## Practical Applications + +- **Enterprise Document Management** – Automatize a indexação de milhares de contratos e mantenha os nomes de arquivos sincronizados. +- **Legal Firms** – Renomeie rapidamente arquivos de casos enquanto preserva o conteúdo pesquisável. +- **Content Management Systems** – Use o padrão clean‑directory para atualizar pastas de mídia sem limpeza manual. + +## Performance Considerations + +- **Index Size** – Compacte periodicamente o índice se ele crescer muito. +- **Memory Usage** – Processar arquivos em lotes para evitar `OutOfMemoryError`. +- **Concurrency** – Para operações em massa, considere o `ExecutorService` do Java para paralelizar limpeza e cópia. + +## Common Issues & Tips + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Frequently Asked Questions + +**Q: Posso limpar um diretório que contém sub‑pastas?** +A: Sim. A abordagem `Files.walk()` exclui recursivamente todos os arquivos e pastas aninhados. + +**Q: Preciso reconstruir todo o índice após cada renomeação?** +A: Não. Enviar uma notificação de renomeação e chamar `index.update()` é suficiente. + +**Q: Quão grande pode ser a pasta que eu limpo antes de atingir limites de desempenho?** +A: Depende da memória da JVM; processar em lotes menores ou usar streams ajuda a gerenciar conjuntos de dados grandes. + +**Q: O GroupDocs.Search é gratuito para desenvolvimento?** +A: Um trial gratuito está disponível, mas uma licença paga é necessária para uso em produção. + +**Q: Posso usar esta abordagem com outros tipos de arquivo (por exemplo, PDFs, DOCX)?** +A: Absolutamente. O GroupDocs.Search suporta muitos formatos; basta adicionar a pasta que contém esses arquivos ao índice. + +## Conclusion + +Agora você tem uma solução completa e pronta para produção de **clean directory java**, adicionando documentos a um índice pesquisável, renomeando arquivos e mantendo tudo sincronizado com o GroupDocs.Search. Aplique esses padrões para automatizar seu fluxo de gerenciamento de documentos e desfrute de buscas mais rápidas e confiáveis. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/portuguese/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/portuguese/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..92a71dc9 --- /dev/null +++ b/content/portuguese/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Aprenda a gerenciar senhas de documentos Java com o GroupDocs.Search, + criar índices pesquisáveis e pesquisar eficientemente em vários documentos. +keywords: +- manage document passwords java +- search across multiple documents +title: Gerenciar senhas de documentos Java usando GroupDocs.Search +type: docs +url: /pt/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Gerenciar Senhas de Documentos Java usando GroupDocs.Search + +Em aplicações empresariais modernas, **manage document passwords Java** é uma etapa crucial para manter arquivos sensíveis seguros enquanto ainda permite busca rápida e confiável. Neste guia, mostraremos como criar e gerenciar índices com GroupDocs.Search, armazenar senhas com segurança no dicionário do índice e, em seguida, **search across multiple documents** com facilidade. Seja você quem está construindo um sistema de gerenciamento de documentos ou adicionando busca a um aplicativo Java existente, os passos abaixo o colocarão em funcionamento rapidamente. + +## Respostas Rápidas +- **O que significa “manage document passwords Java”?** Refere‑se ao armazenamento e recuperação de senhas para arquivos protegidos diretamente no índice de busca. +- **Posso indexar arquivos protegidos por senha?** Sim—adicione as senhas ao dicionário do índice antes da indexação. +- **Quantos documentos posso buscar de uma vez?** GroupDocs.Search pode **search across multiple documents** em uma única consulta. +- **Preciso de licença para produção?** Uma licença é necessária para uso em produção; um teste gratuito está disponível para avaliação. +- **Qual versão do Java é necessária?** JDK 8 ou superior. + +## O que é “manage document passwords Java”? +Armazenar senhas de documentos dentro do índice de busca permite que o mecanismo abra arquivos protegidos automaticamente durante a indexação e a busca, eliminando a necessidade de inserção manual de senha a cada vez. + +## Por que usar GroupDocs.Search para esta tarefa? +- **Dicionário de senhas embutido** – mantém senhas vinculadas aos caminhos dos arquivos. +- **Indexação de alto desempenho** – processa milhares de arquivos rapidamente. +- **Linguagem de consulta avançada** – suporta buscas complexas em diversos tipos de documentos. + +## Pré‑requisitos +- **JDK 8+** instalado. +- **Maven** para gerenciamento de dependências. +- Conhecimento básico de Java (manipulação de arquivos, classes). + +## Configurando GroupDocs.Search para Java + +Adicione o repositório e a dependência ao seu `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Você também pode baixar a biblioteca diretamente da página oficial de lançamentos: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Inicializar o Índice + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Como gerenciar senhas de documentos Java? + +### 1. Definir a Pasta do Índice e Criar o Índice +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Limpar Senhas Existentes (se houver) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Adicionar uma Senha para um Documento Específico +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Recuperar e Remover uma Senha +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Adicionar Senhas a Vários Documentos +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Como indexar documentos com senhas? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Como buscar em vários documentos? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Aplicações Práticas +- **Gerenciamento Corporativo de Documentos** – arquivos seguros e pesquisáveis. +- **Plataformas de Gerenciamento de Conteúdo** – recuperação rápida de ativos protegidos. +- **Repositórios de Documentos Legais** – mantém a confidencialidade enquanto permite busca em texto completo. + +## Considerações de Desempenho +- **Indexação Paralela** – use múltiplas threads para lotes grandes. +- **Monitoramento de Memória** – fique de olho no heap da JVM durante importações massivas. +- **Manutenção Regular do Índice** – re‑indexe quando arquivos forem alterados ou senhas atualizadas. + +## Conclusão +Agora você sabe como **manage document passwords Java** com GroupDocs.Search, criar índices robustos e executar **search across multiple documents** poderosas. Ao integrar esses passos em sua aplicação, você oferecerá experiências de busca seguras, rápidas e escaláveis. + +**Próximos Passos** +- Experimente operadores avançados de consulta (coringas, busca difusa). +- Explore indexação incremental para atualizações em tempo real. +- Combine com outros produtos GroupDocs para conversão ou anotação de PDFs. + +## Perguntas Frequentes + +**P: Posso indexar grandes volumes de documentos?** +R: Sim, GroupDocs.Search foi projetado para lidar com coleções extensas de forma eficiente. + +**P: É possível atualizar um índice existente com novos documentos?** +R: Absolutamente! Você pode adicionar ou remover documentos do seu índice conforme necessário. + +**P: Como garantir a segurança dos meus dados indexados?** +R: Use o dicionário de senhas de documentos e armazene o índice em um diretório protegido. + +**P: O GroupDocs.Search suporta diferentes formatos de arquivo?** +R: Sim, ele suporta PDFs, arquivos Word, planilhas Excel e muitos outros formatos comuns. + +**P: E se eu encontrar problemas de desempenho durante a indexação?** +R: Considere habilitar o processamento paralelo, aumentar o tamanho do heap ou ajustar as configurações do índice. + +--- + +**Última atualização:** 2025-12-29 +**Testado com:** GroupDocs.Search 25.4 for Java +**Autor:** GroupDocs + +**Recursos** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/portuguese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/portuguese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..2c690db9 --- /dev/null +++ b/content/portuguese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Aprenda como indexar documentos Java e criar um índice de pesquisa com + o GroupDocs.Search para Java. Este guia cobre configuração, indexação, pesquisa + e gerenciamento eficiente de documentos. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Como Indexar Documentos Java com GroupDocs.Search – Busca Eficiente +type: docs +url: /pt/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Como Indexar Documentos Java com GroupDocs.Search – Busca Eficiente + +## Introdução + +Você está sobrecarregado com uma grande quantidade de documentos e se perguntando **como indexar java** arquivos rapidamente? Muitas empresas e indivíduos enfrentam esse desafio diariamente. **GroupDocs.Search for Java** oferece uma solução eficiente para simplificar as buscas de documentos, tornando o processo mais rápido e manejável. + +Neste tutorial, vamos guiá‑lo no uso do GroupDocs.Search for Java para criar um repositório indexado dos seus documentos. Você aprenderá a carregar documentos de um sistema de arquivos, executar buscas, gerenciar exclusões e recuperar dados indexados de forma eficiente e escalável. + +**O que você aprenderá:** +- Configurar e ajustar o GroupDocs.Search for Java. +- **Criar um índice de busca** e indexar documentos a partir de streams. +- Carregar documentos do sistema de arquivos. +- **Executar busca por palavra‑chave** no seu índice. +- **Como excluir entradas do índice** para documentos específicos. +- Recuperar documentos indexados após exclusões. + +Pronto para revolucionar a forma como você gerencia buscas de documentos? Vamos começar com os pré‑requisitos! + +## Respostas Rápidas +- **Qual é o objetivo principal?** Indexar e buscar documentos Java de forma eficiente. +- **Qual biblioteca é necessária?** GroupDocs.Search for Java (v25.4+). +- **Preciso de licença?** Um teste gratuito ou licença temporária está disponível; uma licença permanente é necessária para produção. +- **Posso excluir documentos do índice?** Sim, usando o método `delete` com chaves de documento. +- **O Apache Commons IO é obrigatório?** É recomendado para utilitários de manipulação de arquivos. + +## O que é “como indexar java”? +Indexar documentos Java significa criar uma estrutura de dados pesquisável (um índice) que mapeia o conteúdo do documento para termos pesquisáveis, permitindo a recuperação rápida de arquivos relevantes com base em consultas de palavras‑chave. + +## Por que usar GroupDocs.Search for Java? +- **Velocidade:** Algoritmos otimizados entregam resultados de consulta rápidos mesmo em grandes coleções. +- **Escalabilidade:** Lida com milhares de documentos sem sacrificar o desempenho. +- **Flexibilidade:** Suporta vários formatos de arquivo e oferece carregamento preguiçoso para arquivos grandes. +- **Facilidade de Integração:** Configuração Maven simples e API direta. + +## Pré‑requisitos + +Antes de começarmos, certifique‑se de que você possui o seguinte: + +### Bibliotecas e Dependências Necessárias +- **GroupDocs.Search for Java**: Certifique‑se de que a versão 25.4 ou posterior está instalada. +- **Apache Commons IO**: Necessário para utilitários de manipulação de arquivos. + +### Requisitos de Configuração do Ambiente +- Java Development Kit (JDK) 8 ou superior. +- Ambiente de Desenvolvimento Integrado (IDE) como IntelliJ IDEA ou Eclipse. + +### Pré‑requisitos de Conhecimento +- Compreensão básica de programação Java e conceitos orientados a objetos. +- Familiaridade com Maven para gerenciamento de dependências é benéfica, mas não obrigatória. + +## Configurando GroupDocs.Search for Java + +Configurar o ambiente do seu projeto com GroupDocs.Search envolve as etapas a seguir usando Maven: + +**Configuração Maven:** +Adicione o repositório e a dependência a seguir ao seu arquivo `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Download Direto:** +Alternativamente, faça o download da versão mais recente diretamente em [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Etapas de Aquisição de Licença +- **Teste Gratuito:** Comece com um teste gratuito para testar seus recursos. +- **Licença Temporária:** Solicite uma licença temporária para explorar todos os recursos sem limitações. +- **Compra:** Considere comprar se atender às suas necessidades. + +**Inicialização e Configuração Básicas:** + +Uma vez que o ambiente esteja pronto, inicialize o GroupDocs.Search assim: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Como Indexar Documentos Java Usando GroupDocs.Search + +### Criando e Indexando Documentos + +**Visão geral:** Aprenda a criar um índice em uma pasta especificada e a adicionar documentos a partir de streams, simplificando o processo de **create search index**. + +#### Etapa 1: Criar um Índice +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parâmetros:** O primeiro parâmetro é o caminho do diretório onde os índices serão armazenados. O segundo booleano habilita a atualização automática do índice caso ele já exista. + +#### Etapa 2: Carregar e Adicionar Documentos a partir de Stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explicação:** Aqui, você cria um `DocumentLoader` para ler o arquivo e prepará‑lo para indexação. O método `createLazy` é usado para lidar com arquivos grandes de forma eficiente. + +### Carregando Documentos do Sistema de Arquivos + +**Visão geral:** Implemente um carregador personalizado que lê documentos diretamente do seu sistema de arquivos usando utilitários do Apache Commons IO. + +#### Etapa 1: Definir o Carregador de Documentos +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detalhes:** Esta classe lê o arquivo em um array de bytes e cria um objeto `Document` a partir dele. + +### Executando Busca por Palavra‑chave em um Índice + +**Visão geral:** Execute operações de busca nos seus documentos indexados para recuperar informações relevantes rapidamente. + +#### Etapa 1: Executar a Busca +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explicação:** Use o método `search` com uma consulta de texto simples para obter resultados dos seus dados indexados. Essa abordagem é eficiente para cenários de **java document search**. + +### Como Excluir Entradas do Índice + +**Visão geral:** Gerencie seu índice excluindo documentos específicos usando suas chaves. + +#### Etapa 1: Excluir Documento +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parâmetros:** Passe o array de chaves de documento que deseja remover do índice. O `UpdateOptions` permite estratégias de exclusão flexíveis. + +### Recuperando Documentos Indexados Pós‑Exclusão + +**Visão geral:** Após excluir documentos, recupere uma lista dos arquivos indexados restantes para garantir a integridade dos dados. + +#### Etapa 1: Obter Documentos Restantes +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explicação:** Esta etapa ajuda a verificar o estado atual do seu índice após quaisquer exclusões. + +## Aplicações Práticas + +GroupDocs.Search for Java é versátil, oferecendo inúmeros casos de uso, como: + +1. **Gerenciamento Corporativo de Documentos:** Pesquise rapidamente documentos da empresa para melhorar a produtividade. +2. **Análise de Documentos Legais:** Filtre eficientemente arquivos de casos e textos legais para encontrar precedentes relevantes. +3. **Sistemas de Catalogação de Bibliotecas:** Indexe e gerencie grandes coleções de livros e manuscritos para acesso mais fácil. + +## Considerações de Performance + +Para desempenho ideal: + +- **Otimização do Índice:** Atualize regularmente seu índice para refletir mudanças recentes nos documentos. +- **Gerenciamento de Memória:** Use a coleta de lixo do Java de forma eficaz gerenciando operações que consomem muitos recursos. +- **Escalabilidade:** Garanta que sua estratégia de indexação possa lidar com grandes volumes de dados sem degradar o desempenho. + +## Problemas Comuns e Soluções + +| Problema | Causa | Solução | +|----------|-------|----------| +| **Nenhum resultado retornado** | Termos de consulta não indexados ou palavras‑stop filtradas | Verifique `IndexingOptions` e ajuste a lista de palavras‑stop | +| **Erros de falta de memória** | Carregamento de arquivos muito grandes sem carregamento preguiçoso | Use `Document.createLazy` ou aumente o tamanho do heap da JVM | +| **Documentos excluídos ainda aparecem** | Índice não atualizado após exclusão | Chame `index.optimize()` ou reabra o índice | + +## Perguntas Frequentes + +**Q: Posso indexar PDFs, DOCX e PPTX juntos?** +A: Sim, o GroupDocs.Search suporta uma ampla variedade de formatos nativamente. + +**Q: Como funciona “como excluir índice” nos bastidores?** +A: O método `delete` remove entradas com base nas chaves dos documentos e atualiza as listas de postings internas para manter o índice consistente. + +**Q: Existe uma maneira de monitorar o tamanho do índice?** +A: Use `index.getStatistics()` para obter informações sobre a contagem de documentos e o tamanho de armazenamento. + +**Q: Preciso reconstruir todo o índice após cada exclusão?** +A: Não, a operação `delete` atualiza o índice de forma incremental, preservando os dados existentes. + +**Q: E se eu precisar re‑indexar todos os documentos após uma mudança de esquema?** +A: Crie uma nova instância de `Index` em um caminho de pasta diferente e re‑adicione todos os documentos. + +## Conclusão + +Até agora, você deve ter uma compreensão sólida de **como indexar java** documentos e executar buscas rápidas usando o GroupDocs.Search for Java. Esta biblioteca poderosa pode transformar a forma como você gerencia e recupera informações de grandes coleções de documentos, tornando‑a uma ferramenta indispensável para qualquer organização. + +**Próximos Passos:** +- Experimente diferentes tipos de documentos e consultas complexas. +- Explore recursos avançados como busca facetada, indexação de metadados e analisadores personalizados. + +Pronto para iniciar sua jornada de indexação? Implemente essas técnicas hoje mesmo e experimente uma recuperação de documentos mais rápida e precisa! + +--- + +**Última atualização:** 2025-12-29 +**Testado com:** GroupDocs.Search Java 25.4 +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/portuguese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/portuguese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..8e8e9ac1 --- /dev/null +++ b/content/portuguese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Aprenda a otimizar o desempenho da pesquisa usando recursos avançados + de indexação do GroupDocs.Search para Java, incluindo cancelamento, operações assíncronas, + multithreading e personalização de metadados. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Otimize o desempenho da pesquisa com técnicas avançadas de indexação no GroupDocs.Search + para Java +type: docs +url: /pt/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Otimize o Desempenho da Busca com Técnicas Avançadas de Indexação no GroupDocs.Search para Java + +No ambiente digital acelerado de hoje, **otimizar o desempenho da busca** é essencial para oferecer resultados instantâneos aos usuários. Seja construindo um motor de busca personalizado ou aprimorando um sistema de gerenciamento de documentos existente, a estratégia de indexação correta pode reduzir drasticamente a latência e o consumo de recursos. Neste tutorial, percorreremos os recursos mais poderosos do GroupDocs.Search para Java — cancelamento, indexação assíncrona, multithreading e personalização de metadados — para que você possa **add documents index** mais rápido e de forma mais eficiente. + +**O que você aprenderá** + +- Como cancelar uma operação de indexação após um tempo especificado +- Executar operações de indexação assíncrona e lidar com mudanças de status +- Configurar multithreading para indexação mais rápida +- Personalizar opções de indexação de metadados + +Vamos garantir que você tenha tudo o que precisa antes de mergulharmos no código. + +## Pré-requisitos + +- **GroupDocs.Search Library** – versão 25.4 ou posterior. +- **Java Development Environment** – JDK 8 ou superior é recomendado. +- Familiaridade básica com Java e o conceito de indexação. + +### Configurando o GroupDocs.Search para Java + +#### Instalação via Maven + +Add the repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Download Direto + +Alternativamente, faça o download do JAR mais recente em [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**Aquisição de Licença** – Comece com um teste gratuito ou solicite uma licença temporária para desbloquear o conjunto completo de recursos. + +### Inicialização e Configuração Básicas + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Respostas Rápidas +- **O que o cancelamento faz?** Interrompe a indexação após um tempo definido para liberar recursos. +- **Posso indexar documentos de forma assíncrona?** Sim – defina `options.setAsync(true)`. +- **Quantas threads posso usar?** Qualquer inteiro positivo; valores típicos são 2‑4 para a maioria dos servidores. +- **A indexação de metadados é opcional?** Absolutamente – você pode habilitar ou ajustá‑la por campo. +- **Preciso de licença para esses recursos?** Um teste funciona para avaliação; uma licença completa é necessária para produção. + +## O que significa “Otimizar o Desempenho da Busca” neste Contexto? + +Otimizar o desempenho da busca significa configurar o processo de indexação para que consuma a quantidade correta de CPU, memória e tempo, ao mesmo tempo em que entrega os resultados mais relevantes instantaneamente. Ao controlar o cancelamento, a execução assíncrona, o multithreading e o tratamento de metadados, você influencia diretamente a rapidez com que o mecanismo pode **add documents index** e responder às consultas. + +## Por que usar recursos avançados de indexação? + +- **Latência reduzida** – A indexação assíncrona e multithread mantém sua aplicação responsiva. +- **Melhor gerenciamento de recursos** – O cancelamento impede processos descontrolados. +- **Relevância de busca personalizada** – As opções de metadados permitem destacar as informações mais importantes. + +## Guia de Implementação + +### Propriedade de Cancelamento + +**Visão geral** – Cancela a indexação após uma duração especificada para evitar consumo excessivo de recursos. + +#### Etapa 1: Configurar o Ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Etapa 2: Criar Opções de Indexação com Cancelamento + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Pontos-chave** + +- `setCancellation()` ativa o recurso. +- `cancelAfter(int milliseconds)` define o tempo limite (3 segundos neste exemplo). + +### Propriedade Assíncrona + +**Visão geral** – Executa a indexação em uma thread em segundo plano e escuta mudanças de status. + +#### Etapa 1: Configurar o Ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Etapa 2: Inscrever-se no Evento de Alteração de Status + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Etapa 3: Configurar Opções Assíncronas + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Propriedade de Threads + +**Visão geral** – Acelere a indexação aproveitando múltiplos núcleos de CPU. + +#### Etapa 1: Configurar o Ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Etapa 2: Configurar Multithreading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Propriedade de Opções de Indexação de Metadados + +**Visão geral** – Ajuste finamente quais metadados do documento são indexados e como são armazenados. + +#### Etapa 1: Configurar o Ambiente + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Etapa 2: Configurar Opções de Metadados + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Aplicações Práticas + +1. **Sistemas de Gerenciamento de Documentos** – Use indexação assíncrona para manter a UI responsiva enquanto grandes lotes são processados em segundo plano. +2. **Motores de Busca de Conteúdo** – Aplique cancelamento para impedir que trabalhos de longa duração consumam recursos do servidor durante picos de tráfego. +3. **Pipelines de Ingestão em Grande Escala** – Aproveite o multithreading para **add documents index** em escala, reduzindo drasticamente o tempo de processamento. + +## Considerações de Desempenho + +- **Gerenciamento de Threads** – Monitore o uso de CPU; muitas threads podem causar sobrecarga de troca de contexto. +- **Pegada de Memória** – Limites de metadados (por exemplo, `setMaxBytesToIndexField`) ajudam a manter o uso de memória previsível. +- **Coleta de Lixo** – Use flags JVM apropriadas (`-Xmx`, `-XX:+UseG1GC`) ao indexar corpora massivos. + +## Problemas Comuns e Soluções + +| Sintoma | Causa Provável | Correção | +|---------|----------------|----------| +| A indexação nunca termina | Cancelamento definido muito baixo | Aumente o valor de `cancelAfter` ou remova o cancelamento para trabalhos longos | +| Nenhuma atualização de status no modo assíncrono | Manipulador de evento não anexado corretamente | Garanta que `index.getEvents().StatusChanged.add(...)` seja chamado antes de `index.add` | +| Erros de falta de memória | Muitas threads ou limites altos de metadados | Reduza `options.setThreads` e diminua os limites de campos de metadados | +| Metadados ausentes nos resultados | Indexação de metadados desativada | Verifique se `options.getMetadataIndexingOptions()` está configurado e não definido para ignorar campos | + +## Perguntas Frequentes + +**Q: Como obtenho uma licença temporária para o GroupDocs.Search?** +A: Visite a [página de licença temporária do GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**Q: Posso cancelar uma operação de indexação no meio?** +A: Sim – use a propriedade de cancelamento com `cancelAfter()` ou chame `Cancellation.cancel()` programaticamente. + +**Q: Quais são alguns casos de uso para indexação assíncrona?** +A: Recuperação de documentos em tempo real, processamento em lote em segundo plano e aplicações com UI responsiva se beneficiam da indexação assíncrona. + +**Q: É seguro aumentar a contagem de threads em um servidor compartilhado?** +A: Aumente gradualmente e monitore a carga da CPU; em ambientes altamente compartilhados, mantenha a contagem de threads modesta (2‑4). + +**Q: Como a indexação de metadados afeta a relevância da busca?** +A: Metadados corretamente indexados (autor, data de criação, tags) podem receber peso maior nas consultas, melhorando a precisão dos resultados. + +## Conclusão + +Ao adotar esses recursos avançados do GroupDocs.Search para Java, você **otimizará o desempenho da busca** em diversos cenários — desde ingestão rápida de documentos até controle granular de metadados. Experimente diferentes configurações, monitore o uso de recursos e ajuste as definições ao seu workload específico para obter os melhores resultados. + +--- + +**Última atualização:** 2025-12-29 +**Testado com:** GroupDocs.Search 25.4 for Java +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/russian/java/getting-started/_index.md b/content/russian/java/getting-started/_index.md new file mode 100644 index 00000000..534b67b3 --- /dev/null +++ b/content/russian/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Пошаговое руководство по настройке GroupDocs.Search для разработчиков + Java, охватывающее установку, лицензирование и создание вашего первого поискового + решения. +title: 'Как настроить GroupDocs.Search - руководства по началу работы для Java' +type: docs +url: /ru/java/getting-started/ +weight: 1 +--- + +# Как настроить GroupDocs.Search - Руководства по началу работы для Java + +Добро пожаловать в полное руководство по **как настроить GroupDocs.Search** для Java‑приложений. В этом уроке вы узнаете основные шаги по установке библиотеки, настройке лицензирования и созданию вашего первого решения для поиска по документам. Независимо от того, начинаете ли вы новый проект или интегрируете поиск в существующий код, это пошаговое руководство даст вам всё необходимое для быстрого старта. + +## Быстрые ответы +- **Какой первый шаг?** Установите пакет GroupDocs.Search Java через Maven или Gradle. +- **Нужна ли лицензия?** Да — временная лицензия подходит для разработки; полная лицензия требуется для продакшн. +- **Какая IDE лучше всего подходит?** Любая Java‑IDE (IntelliJ IDEA, Eclipse, VS Code), поддерживающая проекты Maven/Gradle. +- **Могу ли я индексировать PDF и Word файлы?** Конечно — GroupDocs.Search поддерживает широкий спектр форматов документов из коробки. +- **Сколько времени занимает настройка?** Обычно менее 15 минут для нового проекта. + +## Что такое «как настроить GroupDocs.Search»? +Настройка GroupDocs.Search означает подготовку библиотеки к индексации документов, определение мест хранения и применение вашего лицензионного ключа, чтобы API мог работать без ограничений. Правильная конфигурация обеспечивает быстрые, точные результаты поиска и плавную интеграцию с вашим Java‑кодом. + +## Зачем настраивать GroupDocs.Search для Java? +- **Быстрая реализация** — Требуется минимум кода для начала индексации и поиска. +- **Масштабируемая индексация** — Обрабатывает большие коллекции документов без потери производительности. +- **Широкая поддержка форматов** — Работает с PDF, DOCX, XLSX, PPTX и многими другими типами файлов. +- **Безопасное лицензирование** — Гарантирует соответствие требованиям и открывает все премиум‑функции. + +## Предварительные требования +- Java Development Kit (JDK) 8 или выше. +- Maven 3 или Gradle 5 для управления зависимостями. +- Доступ к временной или полной лицензии GroupDocs.Search. + +## Пошаговое руководство + +### Шаг 1: Добавьте GroupDocs.Search в ваш проект +Добавьте зависимость GroupDocs.Search в ваш `pom.xml` (Maven) или `build.gradle` (Gradle). Это сделает библиотеку доступной для вашего кода. + +### Шаг 2: Примените вашу лицензию +Создайте объект `License` и загрузите ваш временный или постоянный файл лицензии. Этот шаг открывает полную функциональность и снимает ограничения оценки. + +### Шаг 3: Инициализируйте настройки индекса +Определите, где на диске будут храниться файлы индекса, и настройте любые пользовательские параметры индексации, которые вам нужны (например, чувствительность к регистру, стоп‑слова). + +### Шаг 4: Индексируйте ваши документы +Используйте класс `Indexer` для добавления файлов или папок в индекс. GroupDocs.Search автоматически определяет типы файлов и извлекает текст для поиска. + +### Шаг 5: Выполните поисковый запрос +Создайте объект `SearchOptions`, укажите строку запроса и выполните поиск. API возвращает список подходящих документов с оценками релевантности. + +### Шаг 6: Просмотрите результаты +Итерируйте результаты поиска, выводите имена файлов и при желании подсвечивайте совпадающие термины в пользовательском интерфейсе. + +## Распространённые проблемы и решения +- **Лицензия не распознана** — Проверьте путь к файлу лицензии и убедитесь, что он соответствует версии GroupDocs.Search, которую вы используете. +- **Отсутствуют форматы документов** — Установите дополнительный модуль `groupdocs-conversion`, если нужна поддержка менее распространённых типов файлов. +- **Узкие места в производительности** — Используйте инкрементальную индексацию и разместите папку индекса на SSD‑накопителе для более быстрого доступа. + +## Часто задаваемые вопросы + +**Q: Могу ли я использовать GroupDocs.Search на сервере Linux?** +A: Да, библиотека независима от платформы и работает на любой ОС, поддерживающей Java. + +**Q: Как обновить индекс после добавления новых файлов?** +A: Вызовите `Indexer` снова с новыми файлами; библиотека объединит их с существующим индексом. + +**Q: Можно ли ограничить результаты поиска определённой папкой?** +A: Да, задайте в `SearchOptions` фильтр по папке перед выполнением запроса. + +**Q: Что происходит, если я превысил срок действия временной лицензии?** +A: API продолжит работать в режиме оценки с ограниченными функциями; замените файл лицензии на постоянный ключ, чтобы восстановить полную функциональность. + +**Q: Поддерживает ли GroupDocs.Search нечеткий поиск?** +A: Абсолютно — включите нечеткое сопоставление в `SearchOptions`, чтобы получать результаты с небольшими орфографическими отклонениями. + +## Дополнительные ресурсы + +### Доступные руководства + +### [Развертывание GroupDocs.Search для Java: Полное руководство по настройке](./deploy-groupdocs-search-java-setup-guide/) +Узнайте, как развернуть и настроить GroupDocs.Search для Java с помощью этого пошагового руководства. Улучшите индексацию документов и возможности поиска в ваших проектах. + +### Полезные ссылки +- [Документация GroupDocs.Search для Java](https://docs.groupdocs.com/search/java/) +- [Справочник API GroupDocs.Search для Java](https://reference.groupdocs.com/search/java/) +- [Скачать GroupDocs.Search для Java](https://releases.groupdocs.com/search/java/) +- [Форум GroupDocs.Search](https://forum.groupdocs.com/c/search) +- [Бесплатная поддержка](https://forum.groupdocs.com/) +- [Временная лицензия](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Последнее обновление:** 2025-12-29 +**Тестировано с:** GroupDocs.Search 23.12 for Java +**Автор:** GroupDocs \ No newline at end of file diff --git a/content/russian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/russian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..ecc47531 --- /dev/null +++ b/content/russian/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Узнайте, как очищать каталог Java, автоматизировать управление документами + и переименовывать файлы с помощью GroupDocs.Search для Java. Повышайте эффективность + ваших приложений. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Clean Directory Java – автоматизация индексации и переименования +type: docs +url: /ru/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Автоматизация индексации и переименования документов с помощью GroupDocs.Search + +Если вам нужно **clean directory java** и одновременно автоматизировать индексацию и переименование документов, вы попали по адресу. Ручное перемещение, удаление файлов и обновление индекса подвержено ошибкам и отнимает много времени. В этом руководстве мы покажем, как заставить Java выполнять всю тяжёлую работу, используя **GroupDocs.Search for Java** для создания поискового индекса, переименования файлов и автоматической синхронизации индекса. + +## Быстрые ответы +- **Что означает “clean directory java”?** Удаление всех файлов/папок внутри целевой директории с помощью кода Java. +- **Какая библиотека создаёт поисковый индекс?** GroupDocs.Search for Java. +- **Как переименовать документ и обновить индекс?** Использовать `File.renameTo()`, затем уведомить индекс через `Notification.createRenameNotification`. +- **Можно ли копировать файлы после очистки папки?** Да – Java Streams могут копировать файлы, сохраняя индекс. +- **Нужна ли лицензия для продакшна?** Для коммерческого использования требуется действующая лицензия GroupDocs.Search. + +## Что такое “clean directory java”? +Очистка директории в Java означает программное удаление каждого файла и подпапки внутри указанной папки. Это часто предшествует копированию новых файлов или перестройке индекса, гарантируя, что устаревшие данные не влияют на результаты поиска. + +## Почему автоматизировать индексацию и переименование документов? +- **Автоматизация управления документами** уменьшает ручные усилия и устраняет человеческие ошибки. +- Шаг **create searchable index** позволяет мгновенно находить любой документ по содержимому. +- Переименование файлов без обновления индекса нарушает точность поиска; автоматизация сохраняет согласованность. + +## Требования + +- **GroupDocs.Search for Java** (версия 25.4 или новее) +- JDK 8 + и IDE, например IntelliJ IDEA или Eclipse +- Базовые знания Java, особенно работа с файловой системой + +## Настройка GroupDocs.Search for Java + +### Maven Dependency +Добавьте репозиторий и зависимость в ваш `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Прямая загрузка +Или скачайте последнюю версию с [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Лицензия +Получите бесплатную пробную версию, временную оценочную лицензию или приобретите полную лицензию для продакшн‑использования. + +### Базовая инициализация +Создайте экземпляр `Index`, который будет хранить поисковые данные: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Руководство по реализации + +### 1. Добавление документов в индекс (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explanation*: +- `indexFolder` – место, где хранятся файлы индекса. +- `documentFolder` – исходная папка, содержащая файлы, которые вы хотите сделать доступными для поиска. + +### 2. Переименование документа и уведомление индекса + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explanation*: +- `File.renameTo()` в Java выполняет физическое переименование. +- `Notification.createRenameNotification()` сообщает GroupDocs.Search, что имя файла изменилось, поддерживая точность индекса. + +## Clean Directory Java – Очистка директории и копирование файлов + +Поддержание порядка в папке перед массовым копированием предотвращает дублирование и «осиротевшие» файлы. Ниже представлены два переиспользуемых фрагмента. + +### Шаг 1: Удаление содержимого папки (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explanation*: +- `Files.walk()` проходит по каждому файлу и подпапке. +- Сортировка в обратном порядке гарантирует удаление файлов до их родительских каталогов, эффективно **delete folder contents**. + +### Шаг 2: Копирование файлов (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explanation*: +- Поток фильтрует только обычные файлы, затем копирует каждый в целевую директорию, при необходимости перезаписывая существующие файлы. + +## Практические применения + +- **Enterprise Document Management** – Автоматизация индексации тысяч контрактов и синхронизация имён файлов. +- **Legal Firms** – Быстрое переименование деловых файлов при сохранении поискового контента. +- **Content Management Systems** – Использование шаблона clean‑directory для обновления медиа‑папок без ручной очистки. + +## Соображения по производительности + +- **Размер индекса** – Периодически уплотняйте индекс, если он становится слишком большим. +- **Использование памяти** – Обрабатывайте файлы пакетами, чтобы избежать `OutOfMemoryError`. +- **Конкурентность** – Для массовых операций рассмотрите `ExecutorService` в Java для параллельной очистки и копирования. + +## Распространённые проблемы и советы + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Часто задаваемые вопросы + +**Q: Можно ли очистить директорию, содержащую подпапки?** +A: Да. Подход с `Files.walk()` рекурсивно удаляет все вложенные файлы и папки. + +**Q: Нужно ли перестраивать весь индекс после каждого переименования?** +A: Нет. Достаточно отправить уведомление о переименовании и вызвать `index.update()`. + +**Q: Какой размер папки можно очистить, не столкнувшись с ограничениями производительности?** +A: Это зависит от памяти JVM; обработка небольшими партиями или использование потоков помогает управлять большими объёмами данных. + +**Q: Бесплатна ли GroupDocs.Search для разработки?** +A: Доступна бесплатная пробная версия, но для продакшн‑использования требуется платная лицензия. + +**Q: Можно ли использовать этот подход с другими типами файлов (например, PDF, DOCX)?** +A: Конечно. GroupDocs.Search поддерживает множество форматов; просто добавьте папку с этими файлами в индекс. + +## Заключение + +Теперь у вас есть полное, готовое к продакшну решение для **clean directory java**, добавления документов в поисковый индекс, переименования файлов и поддержания синхронности с GroupDocs.Search. Применяйте эти шаблоны для автоматизации рабочего процесса управления документами и получайте более быстрый и надёжный поиск. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/russian/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/russian/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..d82e46df --- /dev/null +++ b/content/russian/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Узнайте, как управлять паролями документов Java с помощью GroupDocs.Search, + создавать поисковые индексы и эффективно выполнять поиск по нескольким документам. +keywords: +- manage document passwords java +- search across multiple documents +title: Управление паролями документов в Java с помощью GroupDocs.Search +type: docs +url: /ru/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Управление паролями документов Java с помощью GroupDocs.Search + +В современных корпоративных приложениях **manage document passwords Java** — важный шаг для защиты конфиденциальных файлов при сохранении быстрой и надёжной поисковой возможности. В этом руководстве мы покажем, как создавать и управлять индексами с помощью GroupDocs.Search, безопасно хранить пароли в словаре индекса и затем **search across multiple documents** без труда. Независимо от того, создаёте ли вы систему управления документами или добавляете поиск в существующее Java‑приложение, нижеописанные шаги быстро помогут вам начать работу. + +## Быстрые ответы +- **Что означает “manage document passwords Java”?** Это хранение и извлечение паролей для защищённых файлов непосредственно в поисковом индексе. +- **Можно ли индексировать файлы, защищённые паролем?** Да — добавьте пароли в словарь индекса перед индексированием. +- **Сколько документов можно искать одновременно?** GroupDocs.Search может **search across multiple documents** в одном запросе. +- **Нужна ли лицензия для продакшн?** Для использования в продакшн требуется лицензия; доступна бесплатная пробная версия для оценки. +- **Какая версия Java требуется?** JDK 8 или выше. + +## Что такое “manage document passwords Java”? +Хранение паролей документов внутри поискового индекса позволяет движку автоматически открывать защищённые файлы во время индексирования и поиска, устраняя необходимость ручного ввода пароля каждый раз. + +## Почему использовать GroupDocs.Search для этой задачи? +- **Встроенный словарь паролей** – хранит пароли, связанные с путями к файлам. +- **Высокопроизводительное индексирование** – быстро обрабатывает тысячи файлов. +- **Богатый язык запросов** – поддерживает сложные поиски по множеству типов документов. + +## Предварительные требования +- **JDK 8+** установлен. +- **Maven** для управления зависимостями. +- Базовые знания Java (работа с файлами, классы). + +## Настройка GroupDocs.Search для Java + +Добавьте репозиторий и зависимость в ваш `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Вы также можете скачать библиотеку напрямую со страницы официальных релизов: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Инициализация индекса + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Как управлять паролями документов Java? + +### 1. Определите папку индекса и создайте индекс +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Очистите существующие пароли (если есть) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Добавьте пароль для конкретного документа +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Получите и удалите пароль +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Добавьте пароли к нескольким документам +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Как индексировать документы с паролями? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Как выполнять поиск по нескольким документам? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Практические применения +- **Enterprise Document Management** – безопасные, доступные для поиска архивы. +- **Content Management Platforms** – быстрый доступ к защищённым ресурсам. +- **Legal Document Repositories** – поддержание конфиденциальности при возможности полнотекстового поиска. + +## Соображения по производительности +- **Параллельное индексирование** – используйте несколько потоков для больших пакетов. +- **Мониторинг памяти** – следите за кучей JVM при массовом импорте. +- **Регулярное обслуживание индекса** – переиндексируйте при изменении файлов или обновлении паролей. + +## Заключение +Теперь вы знаете, как **manage document passwords Java** с помощью GroupDocs.Search, создавать надёжные индексы и выполнять мощный **search across multiple documents**. Интегрируя эти шаги в своё приложение, вы обеспечите безопасный, быстрый и масштабируемый поиск. + +**Следующие шаги** +- Попробуйте расширенные операторы запросов (подстановочные знаки, нечеткий поиск). +- Исследуйте инкрементальное индексирование для обновлений в реальном времени. +- Сочетайте с другими продуктами GroupDocs для конвертации PDF или аннотирования. + +## Часто задаваемые вопросы + +**В: Можно ли индексировать большие объёмы документов?** +A: Да, GroupDocs.Search разработан для эффективной работы с большими коллекциями. + +**В: Можно ли обновить существующий индекс новыми документами?** +A: Абсолютно! Вы можете добавлять или удалять документы из индекса по мере необходимости. + +**В: Как обеспечить безопасность проиндексированных данных?** +A: Используйте словарь паролей документов и храните индекс в защищённой директории. + +**В: Может ли GroupDocs.Search работать с разными форматами файлов?** +A: Да, поддерживает PDF, Word, Excel и многие другие распространённые форматы. + +**В: Что делать, если возникнут проблемы с производительностью при индексировании?** +A: Рассмотрите возможность включения параллельной обработки, увеличения размера кучи или настройки параметров индекса. + +--- + +**Последнее обновление:** 2025-12-29 +**Тестировано с:** GroupDocs.Search 25.4 for Java +**Автор:** GroupDocs + +**Ресурсы** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/russian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/russian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..530b5fc2 --- /dev/null +++ b/content/russian/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Узнайте, как индексировать Java‑документы и создавать поисковый индекс + с помощью GroupDocs.Search для Java. Это руководство охватывает настройку, индексацию, + поиск и эффективное управление документами. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Как индексировать Java‑документы с помощью GroupDocs.Search – эффективный поиск +type: docs +url: /ru/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Как индексировать Java документы с помощью GroupDocs.Search – Эффективный поиск + +## Введение + +Вы чувствуете себя перегруженным огромным количеством документов и задаётесь вопросом, **как быстро индексировать java** файлы? Многие компании и отдельные пользователи сталкиваются с этой проблемой каждый день. **GroupDocs.Search for Java** предлагает эффективное решение для упрощения поиска документов, делая процесс быстрее и удобнее. + +В этом руководстве мы покажем, как использовать GroupDocs.Search for Java для создания индексированного репозитория ваших документов. Вы узнаете, как загружать документы из файловой системы, выполнять поиск, управлять удалениями и эффективно и масштабируемо получать индексированные данные. + +**Что вы узнаете:** +- Настройка и конфигурация GroupDocs.Search for Java. +- **Создание поискового индекса** и индексация документов из потоков. +- Загрузка документов из файловой системы. +- **Выполнение поиска по ключевым словам** в вашем индексе. +- **Как удалить индекс** записи для конкретных документов. +- Получение индексированных документов после удалений. + +Готовы революционизировать управление поиском документов? Давайте начнём с требований! + +## Быстрые ответы +- **Какова основная цель?** Эффективно индексировать и искать Java документы. +- **Какая библиотека требуется?** GroupDocs.Search for Java (v25.4+). +- **Нужна ли лицензия?** Доступна бесплатная пробная или временная лицензия; постоянная лицензия требуется для продакшн. +- **Можно ли удалять документы из индекса?** Да, используя метод `delete` с ключами документов. +- **Обязательно ли Apache Commons IO?** Рекомендуется для утилит работы с файлами. + +## Что такое “how to index java”? +Индексация Java документов означает создание поисковой структуры данных (индекса), которая сопоставляет содержимое документа с поисковыми терминами, позволяя быстро находить релевантные файлы по запросам ключевых слов. + +## Почему использовать GroupDocs.Search for Java? +- **Скорость:** Оптимизированные алгоритмы обеспечивают быстрые результаты запросов даже в больших коллекциях. +- **Масштабируемость:** Обрабатывает тысячи документов без потери производительности. +- **Гибкость:** Поддерживает различные форматы файлов и предлагает ленивую загрузку для больших файлов. +- **Лёгкость интеграции:** Простая настройка Maven и понятный API. + +## Требования + +Прежде чем начать, убедитесь, что у вас есть следующее: + +### Необходимые библиотеки и зависимости +- **GroupDocs.Search for Java**: Убедитесь, что установлена версия 25.4 или новее. +- **Apache Commons IO**: Необходим для утилит работы с файлами. + +### Требования к настройке среды +- Java Development Kit (JDK) 8 или выше. +- Интегрированная среда разработки (IDE), например IntelliJ IDEA или Eclipse. + +### Предварительные знания +- Базовое понимание программирования на Java и объектно‑ориентированных концепций. +- Знание Maven для управления зависимостями полезно, но не обязательно. + +## Настройка GroupDocs.Search for Java + +Настройка среды проекта с GroupDocs.Search включает следующие шаги с использованием Maven: + +**Конфигурация Maven:** +Add the following repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Прямое скачивание:** +Alternatively, download the latest version directly from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Шаги получения лицензии +- **Бесплатная пробная версия:** Начните с бесплатной пробной версии, чтобы протестировать возможности. +- **Временная лицензия:** Оформите временную лицензию, чтобы исследовать все функции без ограничений. +- **Покупка:** Рассмотрите возможность покупки, если продукт соответствует вашим требованиям. + +**Базовая инициализация и настройка:** + +После подготовки среды инициализируйте GroupDocs.Search следующим образом: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Как индексировать Java документы с помощью GroupDocs.Search + +### Создание и индексация документов + +**Обзор:** Узнайте, как создать индекс в указанной папке и добавить документы из потоков, упрощая процесс **создания поискового индекса**. + +#### Шаг 1: Создать индекс +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parameters:** Первый параметр — путь к директории для хранения индексов. Второй булевый параметр включает автоматическое обновление индекса, если он уже существует. + +#### Шаг 2: Загрузить и добавить документы из потока +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explanation:** Здесь вы создаёте `DocumentLoader` для чтения файла и подготовки его к индексации. Метод `createLazy` используется для эффективной обработки больших файлов. + +### Загрузка документов из файловой системы + +**Обзор:** Реализуйте пользовательский загрузчик, который читает документы напрямую из вашей файловой системы с помощью утилит Apache Commons IO. + +#### Шаг 1: Определить Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Details:** Этот класс читает файл в массив байтов и создаёт объект `Document` из него. + +### Выполнение поиска по ключевым словам в индексе + +**Обзор:** Выполняйте поисковые операции по вашим индексированным документам, чтобы быстро получать релевантную информацию. + +#### Шаг 1: Выполнить поиск +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explanation:** Используйте метод `search` с простым текстовым запросом, чтобы получить результаты из ваших индексированных данных. Такой подход эффективен для сценариев **поиска java документов**. + +### Как удалить записи индекса + +**Обзор:** Управляйте индексом, удаляя конкретные документы по их ключам. + +#### Шаг 1: Удалить документ +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parameters:** Передайте массив ключей документов, которые хотите удалить из индекса. `UpdateOptions` позволяет гибко настраивать стратегии удаления. + +### Получение индексированных документов после удаления + +**Обзор:** После удаления документов получите список оставшихся индексированных файлов, чтобы обеспечить целостность данных. + +#### Шаг 1: Получить оставшиеся документы +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explanation:** Этот шаг помогает проверить текущее состояние вашего индекса после любых удалений. + +## Практические применения + +GroupDocs.Search for Java универсален и предоставляет множество вариантов применения, таких как: + +1. **Корпоративное управление документами:** Быстрый поиск по документам компании для повышения продуктивности. +2. **Анализ юридических документов:** Эффективно просеивать судебные дела и юридические тексты, чтобы находить релевантные прецеденты. +3. **Системы каталогизации библиотек:** Индексировать и управлять большими коллекциями книг и рукописей для более лёгкого доступа. + +## Соображения по производительности + +Для оптимальной производительности: + +- **Оптимизация индекса:** Регулярно обновляйте индекс, чтобы он отражал последние изменения в документах. +- **Управление памятью:** Эффективно используйте сборку мусора Java, управляя ресурсоёмкими операциями. +- **Масштабируемость:** Убедитесь, что ваша стратегия индексации может обрабатывать большие объёмы данных без снижения производительности. + +## Распространённые проблемы и решения + +| Проблема | Причина | Решение | +|----------|---------|----------| +| **Нет результатов** | Термины запроса не проиндексированы или отфильтрованы стоп‑словами | Проверьте `IndexingOptions` и скорректируйте список стоп‑слов | +| **Ошибки нехватки памяти** | Загрузка очень больших файлов без ленивой загрузки | Используйте `Document.createLazy` или увеличьте размер кучи JVM | +| **Удалённые документы всё ещё отображаются** | Индекс не обновлён после удаления | Вызовите `index.optimize()` или переоткройте индекс | + +## Часто задаваемые вопросы + +**В: Можно ли индексировать PDF, DOCX и PPTX одновременно?** +О: Да, GroupDocs.Search поддерживает широкий спектр форматов из коробки. + +**В: Как работает “how to delete index” под капотом?** +О: Метод `delete` удаляет записи по ключам документов и обновляет внутренние списки постингов, чтобы индекс оставался согласованным. + +**В: Есть ли способ мониторить размер индекса?** +О: Используйте `index.getStatistics()`, чтобы получить информацию о количестве документов и размере хранилища. + +**В: Нужно ли перестраивать весь индекс после каждого удаления?** +О: Нет, операция `delete` обновляет индекс инкрементально, сохраняя существующие данные. + +**В: Что делать, если нужно пере‑индексировать все документы после изменения схемы?** +О: Создайте новый экземпляр `Index` с другим путём к папке и повторно добавьте все документы. + +## Заключение + +К этому моменту вы должны иметь прочное понимание **как индексировать java** документы и выполнять быстрый поиск с помощью GroupDocs.Search for Java. Эта мощная библиотека может преобразовать способ управления и получения информации из больших коллекций документов, делая её незаменимым инструментом для любой организации. + +**Следующие шаги:** +- Экспериментируйте с различными типами документов и сложными запросами. +- Изучайте расширенные возможности, такие как фасетный поиск, индексация метаданных и пользовательские анализаторы. + +Готовы начать ваш путь индексации? Реализуйте эти техники сегодня и испытайте более быстрый, точный поиск документов! + +--- + +**Последнее обновление:** 2025-12-29 +**Тестировано с:** GroupDocs.Search Java 25.4 +**Автор:** GroupDocs \ No newline at end of file diff --git a/content/russian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/russian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..09b9e48a --- /dev/null +++ b/content/russian/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Узнайте, как оптимизировать производительность поиска, используя расширенные + функции индексации GroupDocs.Search для Java, включая отмену, асинхронные операции, + многопоточность и настройку метаданных. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Оптимизируйте производительность поиска с помощью продвинутых методов индексации + в GroupDocs.Search для Java +type: docs +url: /ru/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Оптимизация производительности поиска с помощью продвинутых техник индексации в GroupDocs.Search для Java + +В сегодняшней быстро меняющейся цифровой среде **оптимизация производительности поиска** является необходимой для предоставления мгновенных результатов пользователям. Независимо от того, создаёте ли вы собственный поисковый движок или улучшаете существующую систему управления документами, правильная стратегия индексации может существенно сократить задержку и потребление ресурсов. В этом руководстве мы рассмотрим самые мощные возможности GroupDocs.Search для Java — отмена, асинхронная индексация, многопоточность и настройка метаданных — чтобы вы могли **add documents index** быстрее и эффективнее. + +**Что вы узнаете** + +- Как отменить операцию индексации после заданного времени +- Выполнение асинхронных операций индексации и обработка изменений статуса +- Настройка многопоточности для более быстрой индексации +- Настройка параметров индексации метаданных + +Убедимся, что у вас есть всё необходимое, прежде чем мы перейдём к коду. + +## Prerequisites + +- **GroupDocs.Search Library** – версия 25.4 или новее. +- **Java Development Environment** – рекомендуется JDK 8 или выше. +- Базовое знакомство с Java и концепцией индексации. + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +Добавьте репозиторий и зависимость в ваш файл `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +Либо скачайте последнюю JAR‑файл с [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Начните с бесплатной пробной версии или запросите временную лицензию, чтобы разблокировать полный набор функций. + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **Что делает отмена?** Останавливает индексацию после заданного времени, освобождая ресурсы. +- **Могу ли я индексировать документы асинхронно?** Да — установите `options.setAsync(true)`. +- **Сколько потоков я могу использовать?** Любое положительное целое; типичные значения — 2‑4 для большинства серверов. +- **Является ли индексация метаданных опциональной?** Абсолютно — вы можете включать её или точно настраивать по каждому полю. +- **Нужна ли лицензия для этих функций?** Пробная версия подходит для тестирования; полная лицензия требуется для продакшн. + +## Что значит «Оптимизация производительности поиска» в данном контексте? + +Оптимизация производительности поиска подразумевает настройку процесса индексации так, чтобы он потреблял оптимальное количество CPU, памяти и времени, одновременно предоставляя наиболее релевантные результаты мгновенно. Управляя отменой, асинхронным выполнением, многопоточностью и обработкой метаданных, вы напрямую влияете на то, насколько быстро движок может **add documents index** и отвечать на запросы. + +## Почему использовать продвинутые функции индексации? + +- **Сниженная задержка** – Асинхронная и многопоточная индексация сохраняет отзывчивость вашего приложения. +- **Лучшее управление ресурсами** – Отмена предотвращает бесконтрольные процессы. +- **Настроенная релевантность поиска** – Параметры метаданных позволяют выводить наиболее важную информацию. + +## Implementation Guide + +### Cancellation Property + +**Обзор** – Отменить индексацию после заданного периода, чтобы избежать чрезмерного потребления ресурсов. + +#### Шаг 1: Настройка окружения + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Шаг 2: Создание параметров индексации с отменой + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Ключевые моменты** + +- `setCancellation()` активирует функцию. +- `cancelAfter(int milliseconds)` задаёт тайм‑аут (3 секунды в этом примере). + +### Asynchronous Property + +**Обзор** – Выполнять индексацию в фоновом потоке и отслеживать изменения статуса. + +#### Шаг 1: Настройка окружения + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Шаг 2: Подписка на событие изменения статуса + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Шаг 3: Настройка асинхронных параметров + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Обзор** – Ускорьте индексацию, используя несколько ядер CPU. + +#### Шаг 1: Настройка окружения + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Шаг 2: Настройка многопоточности + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Обзор** – Точно настроить, какие метаданные документа индексируются и как они хранятся. + +#### Шаг 1: Настройка окружения + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Шаг 2: Настройка параметров метаданных + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **Document Management Systems** – Используйте асинхронную индексацию, чтобы UI оставался отзывчивым, пока крупные партии обрабатываются в фоновом режиме. +2. **Content Search Engines** – Применяйте отмену, чтобы предотвратить длительные задачи, захватывающие ресурсы сервера в периоды пикового трафика. +3. **Large‑Scale Ingestion Pipelines** – Используйте многопоточность для **add documents index** в масштабе, резко сокращая время обработки. + +## Performance Considerations + +- **Управление потоками** – Следите за загрузкой CPU; слишком много потоков может вызвать накладные расходы на переключение контекста. +- **Потребление памяти** – Ограничения метаданных (например, `setMaxBytesToIndexField`) помогают поддерживать предсказуемое использование памяти. +- **Сборка мусора** – Используйте соответствующие флаги JVM (`-Xmx`, `-XX:+UseG1GC`) при индексации огромных корпусов. + +## Common Issues and Solutions + +| Симптом | Вероятная причина | Решение | +|---------|-------------------|---------| +| Индексация никогда не завершается | Отмена установлена слишком низко | Увеличьте значение `cancelAfter` или уберите отмену для длительных задач | +| Отсутствуют обновления статуса в асинхронном режиме | Обработчик событий не подключён корректно | Убедитесь, что `index.getEvents().StatusChanged.add(...)` вызывается до `index.add` | +| Ошибки Out‑of‑memory | Слишком много потоков или высокие ограничения метаданных | Уменьшите `options.setThreads` и снизьте ограничения полей метаданных | +| Отсутствуют метаданные в результатах | Индексация метаданных отключена | Проверьте, что `options.getMetadataIndexingOptions()` настроен и не установлен на игнорирование полей | + +## Frequently Asked Questions + +**В: Как получить временную лицензию для GroupDocs.Search?** +О: Посетите [страницу временной лицензии GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**В: Могу ли я отменить операцию индексации в середине?** +О: Да — используйте свойство отмены с `cancelAfter()` или вызовите `Cancellation.cancel()` программно. + +**В: Какие сценарии использования асинхронной индексации?** +О: Реальное время получения документов, фоновая пакетная обработка и приложения с отзывчивым UI выигрывают от асинхронной индексации. + +**В: Безопасно ли увеличивать количество потоков на общем сервере?** +О: Увеличивайте постепенно и следите за нагрузкой CPU; в сильно загруженных средах держите количество потоков умеренным (2‑4). + +**В: Как индексация метаданных влияет на релевантность поиска?** +О: Правильно проиндексированные метаданные (автор, дата создания, теги) могут иметь больший вес в запросах, улучшая точность результатов. + +## Conclusion + +Используя эти продвинутые возможности GroupDocs.Search для Java, вы **оптимизируете производительность поиска** в различных сценариях — от быстрой загрузки документов до точного управления метаданными. Экспериментируйте с различными конфигурациями, следите за использованием ресурсов и адаптируйте настройки под вашу конкретную нагрузку, чтобы получить наилучшие результаты. + +--- + +**Последнее обновление:** 2025-12-29 +**Тестировано с:** GroupDocs.Search 25.4 for Java +**Автор:** GroupDocs \ No newline at end of file diff --git a/content/spanish/java/getting-started/_index.md b/content/spanish/java/getting-started/_index.md new file mode 100644 index 00000000..c1010712 --- /dev/null +++ b/content/spanish/java/getting-started/_index.md @@ -0,0 +1,98 @@ +--- +date: 2025-12-29 +description: Guía paso a paso sobre cómo configurar GroupDocs.Search para desarrolladores + Java, que cubre la instalación, la licencia y la creación de su primera solución + de búsqueda. +title: 'Cómo configurar GroupDocs.Search - tutoriales de inicio para Java' +type: docs +url: /es/java/getting-started/ +weight: 1 +--- + +# Cómo Configurar GroupDocs.Search - Tutoriales de Introducción para Java + +Welcome to the ultimate guide on **how to configure GroupDocs.Search** for Java applications. In this tutorial you’ll learn the essential steps to install the library, set up licensing, and build your first searchable document solution. Whether you’re starting a new project or integrating search into an existing codebase, this walkthrough gives you everything you need to get up and running quickly. + +## Respuestas Rápidas +- **¿Cuál es el primer paso?** Install the GroupDocs.Search Java package via Maven or Gradle. +- **¿Necesito una licencia?** Yes—a temporary license works for development; a full license is required for production. +- **¿Qué IDE funciona mejor?** Any Java IDE (IntelliJ IDEA, Eclipse, VS Code) that supports Maven/Gradle projects. +- **¿Puedo indexar archivos PDF y Word?** Absolutely—GroupDocs.Search supports a wide range of document formats out of the box. +- **¿Cuánto tiempo lleva la configuración?** Typically under 15 minutes for a fresh project. + +## ¿Qué es “cómo configurar GroupDocs.Search”? +Configuring GroupDocs.Search means preparing the library to index documents, defining storage locations, and applying your license key so the API can operate without restrictions. Proper configuration ensures fast, accurate search results and smooth integration with your Java code. + +## ¿Por qué configurar GroupDocs.Search para Java? +- **Implementación rápida** – Minimal code is required to start indexing and searching. +- **Indexación escalable** – Handles large document collections without performance loss. +- **Amplio soporte de formatos** – Works with PDFs, DOCX, XLSX, PPTX, and many other file types. +- **Licenciamiento seguro** – Guarantees compliance and unlocks all premium features. + +## Requisitos Previos +- Java Development Kit (JDK) 8 or higher. +- Maven 3 or Gradle 5 for dependency management. +- Access to a temporary or full GroupDocs.Search license key. + +## Guía Paso a Paso + +### Paso 1: Añadir GroupDocs.Search a su Proyecto +Include the GroupDocs.Search dependency in your `pom.xml` (Maven) or `build.gradle` (Gradle). This makes the library available for your code. + +### Paso 2: Aplicar su Licencia +Create a `License` object and load your temporary or permanent license file. This step unlocks full functionality and removes evaluation limits. + +### Paso 3: Inicializar la Configuración del Índice +Define where the index files will be stored on disk and configure any custom indexing options you need (e.g., case sensitivity, stop words). + +### Paso 4: Indexar sus Documentos +Use the `Indexer` class to add files or folders to the index. GroupDocs.Search automatically detects file types and extracts searchable text. + +### Paso 5: Realizar una Consulta de Búsqueda +Create a `SearchOptions` object, specify the query string, and execute the search. The API returns a list of matching documents with relevance scores. + +### Paso 6: Revisar los Resultados +Iterate over the search results, display file names, and optionally highlight matching terms in the UI. + +## Problemas Comunes y Soluciones +- **Licencia no reconocida** – Verify the license file path and ensure it matches the version of GroupDocs.Search you’re using. +- **Faltan formatos de documento** – Install the optional `groupdocs-conversion` add‑on if you need support for less common file types. +- **Cuellos de botella de rendimiento** – Use incremental indexing and configure the index folder on SSD storage for faster access. + +## Preguntas Frecuentes + +**Q: Can I use GroupDocs.Search on a Linux server?** +A: Yes, the library is platform‑independent and runs on any OS that supports Java. + +**Q: How do I update the index after adding new files?** +A: Call the `Indexer` again with the new files; the library will merge them into the existing index. + +**Q: Is there a way to limit search results to a specific folder?** +A: Yes, set the `SearchOptions` to include a folder filter before executing the query. + +**Q: What happens if I exceed the temporary license period?** +A: The API will continue to work in evaluation mode with limited features; replace the license file with a permanent key to restore full functionality. + +**Q: Does GroupDocs.Search support fuzzy search?** +A: Absolutely—enable fuzzy matching in the `SearchOptions` to retrieve results with minor spelling variations. + +## Recursos Adicionales + +### Tutoriales Disponibles + +### [Desplegar GroupDocs.Search para Java: Guía de Configuración Integral](./deploy-groupdocs-search-java-setup-guide/) +Learn how to deploy and configure GroupDocs.Search for Java with this step-by-step guide. Enhance document indexing and search capabilities in your projects. + +### Enlaces Útiles +- [Documentación de GroupDocs.Search para Java](https://docs.groupdocs.com/search/java/) +- [Referencia de API de GroupDocs.Search para Java](https://reference.groupdocs.com/search/java/) +- [Descargar GroupDocs.Search para Java](https://releases.groupdocs.com/search/java/) +- [Foro de GroupDocs.Search](https://forum.groupdocs.com/c/search) +- [Soporte Gratuito](https://forum.groupdocs.com/) +- [Licencia Temporal](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 23.12 for Java +**Author:** GroupDocs \ No newline at end of file diff --git a/content/spanish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/spanish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..64021ecc --- /dev/null +++ b/content/spanish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,244 @@ +--- +date: '2025-12-29' +description: Aprende a limpiar directorios en Java, automatizar la gestión de documentos + y renombrar archivos usando GroupDocs.Search para Java. Mejora la eficiencia en + tus aplicaciones. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Limpiar Directorio Java – Automatizar Indexación y Renombrado +type: docs +url: /es/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatizar la indexación y el renombrado de documentos usando GroupDocs.Search + +Si necesitas **clean directory java** mientras automatizas la indexación y el renombrado de documentos, has llegado al lugar correcto. Manejar manualmente los movimientos, eliminaciones de archivos y actualizaciones del índice es propenso a errores y consume mucho tiempo. En este tutorial te mostraremos cómo dejar que Java haga el trabajo pesado, usando **GroupDocs.Search for Java** para crear un índice searchable, renombrar archivos y mantener el índice sincronizado automáticamente. + +## Respuestas rápidas +- **¿Qué significa “clean directory java”?** Eliminar todos los archivos/carpetas dentro de un directorio objetivo usando código Java. +- **¿Qué biblioteca crea el índice searchable?** GroupDocs.Search for Java. +- **¿Cómo renombro un documento y mantengo el índice actualizado?** Usa `File.renameTo()` y luego notifica al índice con `Notification.createRenameNotification`. +- **¿Puedo copiar archivos después de limpiar la carpeta?** Sí – Java Streams pueden copiar archivos mientras preservan el índice. +- **¿Se requiere una licencia para producción?** Se necesita una licencia válida de GroupDocs.Search para uso comercial. + +## ¿Qué es “clean directory java”? +Limpiar un directorio en Java significa eliminar programáticamente cada archivo y subcarpeta dentro de una carpeta especificada. Esto suele ser un paso previo antes de copiar archivos nuevos o reconstruir un índice, asegurando que los datos obsoletos no interfieran con los resultados de búsqueda. + +## ¿Por qué automatizar la indexación y el renombrado de documentos? +- **Automatización de la gestión de documentos** reduce el esfuerzo manual y elimina errores humanos. +- Un paso de **create searchable index** te permite localizar instantáneamente cualquier documento por su contenido. +- Renombrar archivos sin actualizar el índice rompería la precisión de la búsqueda; la automatización mantiene todo consistente. + +## Prerequisitos + +- **GroupDocs.Search for Java** (Version 25.4 or later) +- JDK 8 + and an IDE such as IntelliJ IDEA or Eclipse +- Basic Java knowledge, especially file I/O + +## Setting Up GroupDocs.Search for Java + +### Maven Dependency +Add the repository and dependency to your `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternatively, download the latest version from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Obtain a free trial, a temporary evaluation license, or purchase a full license for production use. + +### Basic Initialization +Create an `Index` instance that will hold the searchable data: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementation Guide + +### 1. Añadir documentos al índice (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Explicación*: +- `indexFolder` – donde se almacenan los archivos del índice. +- `documentFolder` – la carpeta fuente que contiene los archivos que deseas hacer searchable. + +### 2. Renombrar un documento y notificar al índice + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Explicación*: +- El `File.renameTo()` de Java realiza el renombrado físico. +- `Notification.createRenameNotification()` indica a GroupDocs.Search que el nombre del archivo cambió, manteniendo el índice preciso. + +## Clean Directory Java – Limpieza de directorios y copia de archivos + +Mantener una carpeta ordenada antes de una copia masiva evita archivos duplicados u huérfanos. A continuación se presentan dos fragmentos reutilizables. + +### Paso 1: Eliminar el contenido de la carpeta (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Explicación*: +- `Files.walk()` recorre cada archivo y subcarpeta. +- Ordenar en orden inverso asegura que los archivos se eliminen antes que sus directorios padre, efectivamente **delete folder contents**. + +### Paso 2: Copiar archivos (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Explicación*: +- El stream filtra solo archivos regulares, luego copia cada uno al directorio de destino, sobrescribiendo los archivos existentes si es necesario. + +## Practical Applications + +- **Gestión documental empresarial** – Automatiza la indexación de miles de contratos y mantiene los nombres de archivo sincronizados. +- **Despachos legales** – Renombra rápidamente los expedientes de casos mientras preservas el contenido searchable. +- **Sistemas de gestión de contenido** – Usa el patrón clean‑directory para refrescar carpetas de medios sin limpieza manual. + +## Performance Considerations + +- **Tamaño del índice** – Compacta periódicamente el índice si crece demasiado. +- **Uso de memoria** – Procesa archivos en lotes para evitar `OutOfMemoryError`. +- **Concurrencia** – Para operaciones masivas, considera `ExecutorService` de Java para paralelizar la limpieza y copia. + +## Common Issues & Tips + +| Problema | Causa | Solución | +|----------|-------|----------| +| Renombrado falla | El archivo está bloqueado o la ruta es inválida | Asegúrate de que el archivo no esté abierto en otro lugar; usa `Files.move` para renombrados más fiables. | +| El índice no se actualiza | No se envió la notificación | Siempre llama a `index.notifyIndex(notification)` seguido de `index.update()`. | +| Resultados de búsqueda obsoletos después de copiar | El índice aún apunta a archivos antiguos | Vuelve a añadir la carpeta de destino al índice o llama a `index.update()` después de copiar. | + +## Frequently Asked Questions + +**P: ¿Puedo limpiar un directorio que contiene subcarpetas?** +R: Sí. El enfoque `Files.walk()` elimina recursivamente todos los archivos y carpetas anidados. + +**P: ¿Necesito reconstruir todo el índice después de cada renombrado?** +R: No. Enviar una notificación de renombrado y llamar a `index.update()` es suficiente. + +**P: ¿Qué tan grande puede ser una carpeta que puedo limpiar antes de alcanzar los límites de rendimiento?** +R: Depende de la memoria de la JVM; procesar en lotes más pequeños o usar streams ayuda a manejar conjuntos de datos grandes. + +**P: ¿GroupDocs.Search es gratuito para desarrollo?** +R: Hay una prueba gratuita disponible, pero se requiere una licencia de pago para uso en producción. + +**P: ¿Puedo usar este enfoque con otros tipos de archivo (p. ej., PDFs, DOCX)?** +R: Por supuesto. GroupDocs.Search soporta muchos formatos; solo añade la carpeta que contiene esos archivos al índice. + +## Conclusion + +Ahora tienes una solución completa y lista para producción para **clean directory java**, añadiendo documentos a un índice searchable, renombrando archivos y manteniendo todo sincronizado con GroupDocs.Search. Aplica estos patrones para automatizar tu flujo de trabajo de gestión documental y disfruta de experiencias de búsqueda más rápidas y fiables. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/spanish/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/spanish/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..1d705a2b --- /dev/null +++ b/content/spanish/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Aprende a gestionar contraseñas de documentos en Java con GroupDocs.Search, + crear índices buscables y buscar de manera eficiente en varios documentos. +keywords: +- manage document passwords java +- search across multiple documents +title: Gestionar contraseñas de documentos Java usando GroupDocs.Search +type: docs +url: /es/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Administrar contraseñas de documentos Java usando GroupDocs.Search + +En las aplicaciones empresariales modernas, **manage document passwords Java** es un paso crucial para mantener seguros los archivos sensibles mientras se permite una búsqueda rápida y fiable. En esta guía le mostraremos cómo crear y gestionar índices con GroupDocs.Search, almacenar contraseñas de forma segura en el diccionario del índice y luego **search across multiple documents** con facilidad. Ya sea que esté construyendo un sistema de gestión de documentos o añadiendo búsqueda a una aplicación Java existente, los pasos a continuación le pondrán en marcha rápidamente. + +## Respuestas rápidas +- **¿Qué significa “manage document passwords Java”?** Se refiere a almacenar y recuperar contraseñas para archivos protegidos directamente en el índice de búsqueda. +- **¿Puedo indexar archivos protegidos con contraseña?** Sí—añada las contraseñas al diccionario del índice antes de indexar. +- **¿Cuántos documentos puedo buscar a la vez?** GroupDocs.Search puede **search across multiple documents** en una sola consulta. +- **¿Necesito una licencia para producción?** Se requiere una licencia para uso en producción; hay una prueba gratuita disponible para evaluación. +- **¿Qué versión de Java se requiere?** JDK 8 o superior. + +## ¿Qué es “manage document passwords Java”? +Almacenar las contraseñas de los documentos dentro del índice de búsqueda permite que el motor abra automáticamente los archivos protegidos durante la indexación y la búsqueda, eliminando la necesidad de introducir la contraseña manualmente cada vez. + +## ¿Por qué usar GroupDocs.Search para esta tarea? +- **Diccionario de contraseñas incorporado** – mantenga las contraseñas vinculadas a las rutas de los archivos. +- **Indexación de alto rendimiento** – maneje miles de archivos rápidamente. +- **Lenguaje de consultas rico** – soporta búsquedas complejas en muchos tipos de documentos. + +## Requisitos previos +- **JDK 8+** instalado. +- **Maven** para la gestión de dependencias. +- Conocimientos básicos de Java (manejo de archivos, clases). + +## Configuración de GroupDocs.Search para Java + +Añada el repositorio y la dependencia a su `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +También puede descargar la biblioteca directamente desde la página oficial de lanzamientos: [Versiones de GroupDocs.Search para Java](https://releases.groupdocs.com/search/java/). + +### Inicializar el índice + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## ¿Cómo administrar contraseñas de documentos Java? + +### 1. Definir la carpeta del índice y crear el índice +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Borrar contraseñas existentes (si las hay) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Añadir una contraseña para un documento específico +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Recuperar y eliminar una contraseña +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Añadir contraseñas a varios documentos +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## ¿Cómo indexar documentos con contraseñas? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## ¿Cómo buscar en varios documentos? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Aplicaciones prácticas +- **Gestión documental empresarial** – archivos seguros y buscables. +- **Plataformas de gestión de contenido** – recuperación rápida de recursos protegidos. +- **Repositorios de documentos legales** – mantenga la confidencialidad mientras permite la búsqueda de texto completo. + +## Consideraciones de rendimiento +- **Indexación paralela** – use varios hilos para lotes grandes. +- **Monitoreo de memoria** – vigile el heap de la JVM durante importaciones masivas. +- **Mantenimiento regular del índice** – vuelva a indexar cuando los archivos cambien o se actualicen las contraseñas. + +## Conclusión +Ahora sabe cómo **manage document passwords Java** con GroupDocs.Search, crear índices robustos y realizar potentes **search across multiple documents**. Al integrar estos pasos en su aplicación, ofrecerá experiencias de búsqueda seguras, rápidas y escalables. + +**Próximos pasos** +- Pruebe operadores de consulta avanzados (comodines, búsqueda difusa). +- Explore la indexación incremental para actualizaciones en tiempo real. +- Combínelo con otros productos de GroupDocs para conversión o anotación de PDF. + +## Preguntas frecuentes + +**P: ¿Puedo indexar grandes volúmenes de documentos?** +R: Sí, GroupDocs.Search está diseñado para manejar colecciones extensas de manera eficiente. + +**P: ¿Es posible actualizar un índice existente con nuevos documentos?** +R: ¡Absolutamente! Puede añadir o eliminar documentos de su índice según sea necesario. + +**P: ¿Cómo garantizo la seguridad de mis datos indexados?** +R: Utilice el diccionario de contraseñas de documentos y almacene el índice en un directorio protegido. + +**P: ¿GroupDocs.Search puede manejar diferentes formatos de archivo?** +R: Sí, soporta PDFs, archivos Word, hojas Excel y muchos otros formatos comunes. + +**P: ¿Qué hago si encuentro problemas de rendimiento durante la indexación?** +R: Considere habilitar el procesamiento paralelo, aumentar el tamaño del heap o ajustar la configuración del índice. + +--- + +**Última actualización:** 2025-12-29 +**Probado con:** GroupDocs.Search 25.4 para Java +**Autor:** GroupDocs + +**Recursos** +- [Documentación](https://docs.groupdocs.com/search/java/) +- [Referencia de API](https://reference.groupdocs.com/search/java) +- [Descargar GroupDocs.Search para Java](https://releases.groupdocs.com/search/java/) +- [Repositorio en GitHub](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/spanish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/spanish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..9ec63e1f --- /dev/null +++ b/content/spanish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Aprende cómo indexar documentos Java y crear un índice de búsqueda con + GroupDocs.Search para Java. Esta guía cubre la configuración, la indexación, la + búsqueda y la gestión eficiente de documentos. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Cómo indexar documentos Java con GroupDocs.Search – Búsqueda eficiente +type: docs +url: /es/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Cómo indexar documentos Java con GroupDocs.Search – Búsqueda eficiente + +## Introducción + +¿Te sientes abrumado por una gran cantidad de documentos y te preguntas **cómo indexar java** archivos rápidamente? Muchas empresas e individuos enfrentan este desafío a diario. **GroupDocs.Search for Java** ofrece una solución eficiente para simplificar las búsquedas de documentos, haciendo el proceso más rápido y manejable. + +En este tutorial, te guiaremos en el uso de GroupDocs.Search for Java para crear un repositorio indexado de tus documentos. Aprenderás cómo cargar documentos desde un sistema de archivos, realizar búsquedas, gestionar eliminaciones y recuperar datos indexados de manera eficiente y escalable. + +**Qué aprenderás:** +- Configurar y configurar GroupDocs.Search for Java. +- **Crear un índice de búsqueda** e indexar documentos desde streams. +- Cargar documentos desde el sistema de archivos. +- **Realizar búsqueda por palabras clave** en tu índice. +- **Cómo eliminar entradas del índice** para documentos específicos. +- Recuperar documentos indexados después de eliminaciones. + +¿Listo para revolucionar la forma en que gestionas las búsquedas de documentos? ¡Comencemos con los requisitos previos! + +## Respuestas rápidas +- **¿Cuál es el propósito principal?** Indexar y buscar documentos Java de manera eficiente. +- **¿Qué biblioteca se requiere?** GroupDocs.Search for Java (v25.4+). +- **¿Necesito una licencia?** Está disponible una prueba gratuita o una licencia temporal; se requiere una licencia permanente para producción. +- **¿Puedo eliminar documentos del índice?** Sí, usando el método `delete` con claves de documento. +- **¿Es Apache Commons IO obligatorio?** Se recomienda para utilidades de manejo de archivos. + +## ¿Qué es “how to index java”? +Indexar documentos Java significa crear una estructura de datos buscable (un índice) que mapea el contenido del documento a términos buscables, permitiendo una recuperación rápida de archivos relevantes basados en consultas de palabras clave. + +## ¿Por qué usar GroupDocs.Search for Java? +- **Velocidad:** Algoritmos optimizados entregan resultados de consulta rápidos incluso en colecciones grandes. +- **Escalabilidad:** Maneja miles de documentos sin sacrificar el rendimiento. +- **Flexibilidad:** Soporta varios formatos de archivo y ofrece carga diferida (lazy loading) para archivos grandes. +- **Facilidad de integración:** Configuración simple con Maven y API directa. + +## Requisitos previos + +Antes de comenzar, asegúrate de tener lo siguiente: + +### Bibliotecas y dependencias requeridas +- **GroupDocs.Search for Java**: Asegúrate de que la versión 25.4 o posterior esté instalada. +- **Apache Commons IO**: Necesario para utilidades de manejo de archivos. + +### Requisitos de configuración del entorno +- Java Development Kit (JDK) 8 o superior. +- Entorno de Desarrollo Integrado (IDE) como IntelliJ IDEA o Eclipse. + +### Conocimientos previos +- Comprensión básica de la programación Java y conceptos orientados a objetos. +- Familiaridad con Maven para la gestión de dependencias es beneficiosa pero no obligatoria. + +## Configuración de GroupDocs.Search for Java + +Configurar tu entorno de proyecto con GroupDocs.Search implica los siguientes pasos usando Maven: + +**Configuración de Maven:** +Agrega el siguiente repositorio y dependencia a tu archivo `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Descarga directa:** +Alternativamente, descarga la última versión directamente desde [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Pasos para obtener una licencia +- **Prueba gratuita:** Comienza con una prueba gratuita para probar sus capacidades. +- **Licencia temporal:** Solicita una licencia temporal para explorar todas las funciones sin limitaciones. +- **Compra:** Considera comprarla si satisface tus necesidades. + +**Inicialización y configuración básica:** + +Una vez que tu entorno esté listo, inicializa GroupDocs.Search así: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Cómo indexar documentos Java usando GroupDocs.Search + +### Creación e indexación de documentos + +**Visión general:** Aprende cómo crear un índice en una carpeta especificada y agregar documentos desde streams, simplificando el proceso de **create search index**. + +#### Paso 1: Crear un índice +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parámetros:** El primer parámetro es la ruta del directorio para almacenar índices. El segundo booleano habilita la actualización automática del índice si ya existe. + +#### Paso 2: Cargar y agregar documentos desde stream +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Explicación:** Aquí, creas un `DocumentLoader` para leer el archivo y prepararlo para indexación. El método `createLazy` se usa para manejar archivos grandes de manera eficiente. + +### Carga de documentos desde el sistema de archivos + +**Visión general:** Implementa un cargador personalizado que lea documentos directamente de tu sistema de archivos usando utilidades de Apache Commons IO. + +#### Paso 1: Definir Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detalles:** Esta clase lee el archivo en un arreglo de bytes y crea un objeto `Document` a partir de él. + +### Realizar búsqueda por palabras clave en un índice + +**Visión general:** Ejecuta operaciones de búsqueda en tus documentos indexados para recuperar información relevante rápidamente. + +#### Paso 1: Ejecutar búsqueda +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Explicación:** Usa el método `search` con una consulta de texto simple para obtener resultados de tus datos indexados. Este enfoque es eficiente para escenarios de **java document search**. + +### Cómo eliminar entradas del índice + +**Visión general:** Gestiona tu índice eliminando documentos específicos usando sus claves. + +#### Paso 1: Eliminar documento +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parámetros:** Pasa el arreglo de claves de documento que deseas eliminar del índice. `UpdateOptions` permite estrategias de eliminación flexibles. + +### Recuperar documentos indexados después de la eliminación + +**Visión general:** Después de eliminar documentos, recupera una lista de los archivos indexados restantes para asegurar la integridad de los datos. + +#### Paso 1: Obtener documentos restantes +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Explicación:** Este paso ayuda a verificar el estado actual de tu índice después de cualquier eliminación. + +## Aplicaciones prácticas + +GroupDocs.Search for Java es versátil, ofreciendo numerosos casos de uso como: + +1. **Gestión de documentos empresariales:** Busca rápidamente a través de los documentos de la empresa para mejorar la productividad. +2. **Análisis de documentos legales:** Filtra eficientemente expedientes y textos legales para encontrar precedentes relevantes. +3. **Sistemas de catalogación de bibliotecas:** Indexa y gestiona grandes colecciones de libros y manuscritos para un acceso más fácil. + +## Consideraciones de rendimiento + +Para un rendimiento óptimo: + +- **Optimización del índice:** Actualiza regularmente tu índice para reflejar los cambios recientes en los documentos. +- **Gestión de memoria:** Utiliza la recolección de basura de Java de manera eficaz gestionando operaciones que consumen muchos recursos. +- **Escalabilidad:** Asegúrate de que tu estrategia de indexación pueda manejar grandes volúmenes de datos sin degradar el rendimiento. + +## Problemas comunes y soluciones + +| Problema | Causa | Solución | +|----------|-------|----------| +| **No se devuelven resultados** | Términos de consulta no indexados o palabras vacías filtradas | Verifica `IndexingOptions` y ajusta la lista de palabras vacías | +| **Errores de falta de memoria** | Carga de archivos muy grandes sin carga diferida | Usa `Document.createLazy` o aumenta el tamaño del heap de JVM | +| **Los documentos eliminados siguen apareciendo** | El índice no se actualiza después de la eliminación | Llama a `index.optimize()` o vuelve a abrir el índice | + +## Preguntas frecuentes + +**P: ¿Puedo indexar PDFs, DOCX y PPTX juntos?** +R: Sí, GroupDocs.Search soporta una amplia gama de formatos de forma nativa. + +**P: ¿Cómo funciona “how to delete index” internamente?** +R: El método `delete` elimina entradas basadas en claves de documento y actualiza las listas de postings internas para mantener el índice consistente. + +**P: ¿Hay una forma de monitorizar el tamaño del índice?** +R: Usa `index.getStatistics()` para obtener información sobre la cantidad de documentos y el tamaño de almacenamiento. + +**P: ¿Necesito reconstruir todo el índice después de cada eliminación?** +R: No, la operación `delete` actualiza el índice de forma incremental, preservando los datos existentes. + +**P: ¿Qué pasa si necesito re‑indexar todos los documentos después de un cambio de esquema?** +R: Crea una nueva instancia de `Index` con una ruta de carpeta diferente y vuelve a agregar todos los documentos. + +## Conclusión + +A estas alturas, deberías tener una comprensión sólida de **cómo indexar java** documentos y realizar búsquedas rápidas usando GroupDocs.Search for Java. Esta poderosa biblioteca puede transformar la forma en que gestionas y recuperas información de grandes colecciones de documentos, convirtiéndola en una herramienta invaluable para cualquier organización. + +**Próximos pasos:** +- Experimenta con diferentes tipos de documentos y consultas complejas. +- Explora funciones avanzadas como búsqueda facetada, indexación de metadatos y analizadores personalizados. + +¿Listo para iniciar tu viaje de indexación? ¡Implementa estas técnicas hoy y experimenta una recuperación de documentos más rápida y precisa! + +--- + +**Última actualización:** 2025-12-29 +**Probado con:** GroupDocs.Search Java 25.4 +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/spanish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/spanish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..8478a8fc --- /dev/null +++ b/content/spanish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,277 @@ +--- +date: '2025-12-29' +description: Aprenda a optimizar el rendimiento de la búsqueda utilizando las funciones + avanzadas de indexación de GroupDocs.Search para Java, incluyendo cancelación, operaciones + asíncronas, multihilo y personalización de metadatos. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimiza el rendimiento de búsqueda con técnicas avanzadas de indexación en + GroupDocs.Search para Java +type: docs +url: /es/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimizar el Rendimiento de Búsqueda con Técnicas Avanzadas de Indexación en GroupDocs.Search para Java + +En el entorno digital de hoy, **optimizar el rendimiento de búsqueda** es esencial para ofrecer resultados instantáneos a los usuarios. Ya sea que estés construyendo un motor de búsqueda personalizado o mejorando un sistema de gestión de documentos existente, la estrategia de indexación adecuada puede reducir drásticamente la latencia y el consumo de recursos. En este tutorial recorreremos las funciones más potentes de GroupDocs.Search para Java—cancellation, asynchronous indexing, multi‑threading y metadata customization—para que puedas **add documents index** más rápido y de manera más eficiente. + +**Lo que aprenderás** + +- Cómo cancelar una operación de indexación después de un tiempo especificado +- Realizar operaciones de indexación asíncronas y manejar cambios de estado +- Configurar multi‑threading para una indexación más rápida +- Personalizar opciones de indexación de metadata + +Asegurémonos de que tienes todo lo necesario antes de sumergirnos en el código. + +## Requisitos previos + +- **GroupDocs.Search Library** – versión 25.4 o posterior. +- **Java Development Environment** – se recomienda JDK 8 o superior. +- Familiaridad básica con Java y el concepto de indexación. + +### Configuración de GroupDocs.Search para Java + +#### Instalación con Maven + +Agrega el repositorio y la dependencia a tu archivo `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Descarga directa + +Alternativamente, descarga el JAR más reciente desde [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – Comienza con una prueba gratuita o solicita una licencia temporal para desbloquear el conjunto completo de funciones. + +### Inicialización y Configuración Básicas + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Respuestas rápidas +- **What does cancellation do?** Detiene la indexación después de un tiempo establecido para liberar recursos. +- **Can I index documents asynchronously?** Sí – establece `options.setAsync(true)`. +- **How many threads can I use?** Cualquier entero positivo; los valores típicos son 2‑4 para la mayoría de los servidores. +- **Is metadata indexing optional?** Absolutamente – puedes habilitarlo o ajustarlo por campo. +- **Do I need a license for these features?** Una prueba funciona para pruebas; se requiere una licencia completa para producción. + +## ¿Qué significa “Optimizar el Rendimiento de Búsqueda” en este contexto? + +Optimizar el rendimiento de búsqueda significa configurar el proceso de indexación para que consuma la cantidad adecuada de CPU, memoria y tiempo, al tiempo que entrega los resultados más relevantes al instante. Al controlar la cancelación, la ejecución async, el threading y el manejo de metadata, influyes directamente en la rapidez con la que el motor puede **add documents index** y responder a las consultas. + +## ¿Por qué usar funciones avanzadas de indexación? + +- **Reduced latency** – La indexación asíncrona y multi‑threaded mantiene tu aplicación receptiva. +- **Better resource management** – La cancelación evita procesos descontrolados. +- **Tailored search relevance** – Las opciones de metadata te permiten resaltar la información más importante. + +## Guía de implementación + +### Propiedad de cancelación + +**Overview** – Cancelar la indexación después de una duración especificada para evitar el consumo excesivo de recursos. + +#### Paso 1: Configurar el entorno + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Paso 2: Crear opciones de indexación con cancelación + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Puntos clave** + +- `setCancellation()` activa la función. +- `cancelAfter(int milliseconds)` define el tiempo de espera (3 segundos en este ejemplo). + +### Propiedad asíncrona + +**Overview** – Ejecutar la indexación en un hilo en segundo plano y escuchar los cambios de estado. + +#### Paso 1: Configurar el entorno + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Paso 2: Suscribirse al evento StatusChanged + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Paso 3: Configurar opciones asíncronas + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Propiedad de hilos + +**Overview** – Acelerar la indexación aprovechando múltiples núcleos de CPU. + +#### Paso 1: Configurar el entorno + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Paso 2: Configurar multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Propiedad de opciones de indexación de metadata + +**Overview** – Ajustar finamente qué metadata del documento se indexa y cómo se almacena. + +#### Paso 1: Configurar el entorno + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Paso 2: Configurar opciones de metadata + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Aplicaciones prácticas + +1. **Document Management Systems** – Usa indexación asíncrona para mantener la UI receptiva mientras se procesan grandes lotes en segundo plano. +2. **Content Search Engines** – Aplica cancelación para evitar que trabajos de larga duración consuman recursos del servidor durante picos de tráfico. +3. **Large‑Scale Ingestion Pipelines** – Aprovecha multi‑threading para **add documents index** a gran escala, reduciendo drásticamente el tiempo de procesamiento. + +## Consideraciones de rendimiento + +- **Thread Management** – Monitorea el uso de CPU; demasiados hilos pueden causar sobrecarga por cambios de contexto. +- **Memory Footprint** – Los límites de metadata (p. ej., `setMaxBytesToIndexField`) ayudan a mantener predecible el uso de memoria. +- **Garbage Collection** – Usa banderas JVM apropiadas (`-Xmx`, `-XX:+UseG1GC`) al indexar corpora masivos. + +## Problemas comunes y soluciones + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| La indexación nunca termina | Cancelación configurada demasiado baja | Aumenta el valor de `cancelAfter` o elimina la cancelación para trabajos largos | +| No hay actualizaciones de estado en modo async | Manejador de eventos no adjuntado correctamente | Asegúrate de que `index.getEvents().StatusChanged.add(...)` se llame antes de `index.add` | +| Errores de falta de memoria | Demasiados hilos o límites de metadata altos | Reduce `options.setThreads` y disminuye los límites de campos de metadata | +| Metadata faltante en resultados | Indexación de metadata deshabilitada | Verifica que `options.getMetadataIndexingOptions()` esté configurado y no se haya establecido para ignorar campos | + +## Preguntas frecuentes + +**Q: ¿Cómo obtengo una licencia temporal para GroupDocs.Search?** +A: Visita [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q: ¿Puedo cancelar una operación de indexación a mitad de proceso?** +A: Sí – usa la propiedad de cancelación con `cancelAfter()` o llama a `Cancellation.cancel()` programáticamente. + +**Q: ¿Cuáles son algunos casos de uso para la indexación asíncrona?** +A: La recuperación de documentos en tiempo real, el procesamiento por lotes en segundo plano y las aplicaciones con UI receptiva se benefician de la indexación async. + +**Q: ¿Es seguro aumentar la cantidad de hilos en un servidor compartido?** +A: Aumenta gradualmente y monitorea la carga de CPU; en entornos muy compartidos, mantén la cantidad de hilos modesta (2‑4). + +**Q: ¿Cómo afecta la indexación de metadata a la relevancia de búsqueda?** +A: La metadata indexada correctamente (autor, fecha de creación, etiquetas) puede tener mayor peso en las consultas, mejorando la precisión de los resultados. + +## Conclusión + +Al adoptar estas funciones avanzadas de GroupDocs.Search para Java, **optimizarás el rendimiento de búsqueda** en una variedad de escenarios—desde la ingestión rápida de documentos hasta el control detallado de metadata. Experimenta con diferentes configuraciones, monitorea el uso de recursos y adapta los ajustes a tu carga de trabajo específica para obtener los mejores resultados. + +--- + +**Última actualización:** 2025-12-29 +**Probado con:** GroupDocs.Search 25.4 for Java +**Autor:** GroupDocs \ No newline at end of file diff --git a/content/swedish/java/getting-started/_index.md b/content/swedish/java/getting-started/_index.md new file mode 100644 index 00000000..815a4917 --- /dev/null +++ b/content/swedish/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: Steg‑för‑steg‑guide om hur du konfigurerar GroupDocs.Search för Java‑utvecklare, + med täckning av installation, licensiering och att skapa din första söklösning. +title: 'Hur man konfigurerar GroupDocs.Search - Kom igång‑handledning för Java' +type: docs +url: /sv/java/getting-started/ +weight: 1 +--- + +# Så konfigurerar du GroupDocs.Search - Kom‑igång‑handledning för Java + +Välkommen till den ultimata guiden om **hur du konfigurerar GroupDocs.Search** för Java‑applikationer. I den här handledningen kommer du att lära dig de viktigaste stegen för att installera biblioteket, konfigurera licenser och bygga din första sökbara dokumentlösning. Oavsett om du startar ett nytt projekt eller integrerar sökning i en befintlig kodbas, ger denna genomgång dig allt du behöver för att snabbt komma igång. + +## Quick Answers +- **Vad är det första steget?** Installera GroupDocs.Search Java‑paketet via Maven eller Gradle. +- **Behöver jag en licens?** Ja—en tillfällig licens fungerar för utveckling; en full licens krävs för produktion. +- **Vilken IDE fungerar bäst?** Alla Java‑IDE:er (IntelliJ IDEA, Eclipse, VS Code) som stödjer Maven/Gradle‑projekt. +- **Kan jag indexera PDF‑ och Word‑filer?** Absolut—GroupDocs.Search stödjer ett brett sortiment av dokumentformat direkt. +- **Hur lång tid tar installationen?** Vanligtvis under 15 minuter för ett nytt projekt. + +## Vad är “hur du konfigurerar GroupDocs.Search”? +Att konfigurera GroupDocs.Search innebär att förbereda biblioteket för att indexera dokument, definiera lagringsplatser och tillämpa din licensnyckel så att API‑et kan fungera utan begränsningar. Korrekt konfiguration säkerställer snabba, precisa sökresultat och smidig integration med din Java‑kod. + +## Varför konfigurera GroupDocs.Search för Java? +- **Snabb implementering** – Minimal kod krävs för att börja indexera och söka. +- **Skalbar indexering** – Hanterar stora dokumentsamlingar utan prestandaförlust. +- **Brett formatstöd** – Fungerar med PDF, DOCX, XLSX, PPTX och många andra filtyper. +- **Säker licensiering** – Garantiar efterlevnad och låser upp alla premiumfunktioner. + +## Förutsättningar +- Java Development Kit (JDK) 8 eller högre. +- Maven 3 eller Gradle 5 för beroendehantering. +- Tillgång till en tillfällig eller fullständig GroupDocs.Search‑licensnyckel. + +## Step‑by‑Step Guide + +### Step 1: Add GroupDocs.Search to Your Project +Inkludera GroupDocs.Search‑beroendet i din `pom.xml` (Maven) eller `build.gradle` (Gradle). Detta gör biblioteket tillgängligt för din kod. + +### Step 2: Apply Your License +Skapa ett `License`‑objekt och läs in din tillfälliga eller permanenta licensfil. Detta steg låser upp full funktionalitet och tar bort utvärderingsgränser. + +### Step 3: Initialize the Index Settings +Definiera var indexfilerna ska lagras på disk och konfigurera eventuella anpassade indexeringsalternativ du behöver (t.ex. skiftlägeskänslighet, stoppord). + +### Step 4: Index Your Documents +Använd `Indexer`‑klassen för att lägga till filer eller mappar i indexet. GroupDocs.Search upptäcker automatiskt filtyper och extraherar sökbar text. + +### Step 5: Perform a Search Query +Skapa ett `SearchOptions`‑objekt, ange söksträngen och kör sökningen. API‑et returnerar en lista med matchande dokument och relevanspoäng. + +### Step 6: Review Results +Iterera över sökresultaten, visa filnamn och markera eventuellt matchande termer i användargränssnittet. + +## Common Issues and Solutions +- **Licensen känns inte igen** – Verifiera licensfilens sökväg och säkerställ att den matchar versionen av GroupDocs.Search du använder. +- **Saknade dokumentformat** – Installera det valfria `groupdocs-conversion`‑tillägget om du behöver stöd för mindre vanliga filtyper. +- **Prestandaflaskhalsar** – Använd inkrementell indexering och konfigurera indexmappen på SSD‑lagring för snabbare åtkomst. + +## Frequently Asked Questions + +**Q: Kan jag använda GroupDocs.Search på en Linux‑server?** +A: Ja, biblioteket är plattformsoberoende och körs på alla OS som stödjer Java. + +**Q: Hur uppdaterar jag indexet efter att ha lagt till nya filer?** +A: Anropa `Indexer` igen med de nya filerna; biblioteket kommer att slå ihop dem med det befintliga indexet. + +**Q: Finns det ett sätt att begränsa sökresultaten till en specifik mapp?** +A: Ja, ställ in `SearchOptions` för att inkludera ett mappfilter innan du kör frågan. + +**Q: Vad händer om jag överskrider den tillfälliga licensperioden?** +A: API‑et fortsätter att fungera i utvärderingsläge med begränsade funktioner; ersätt licensfilen med en permanent nyckel för att återställa full funktionalitet. + +**Q: Stöder GroupDocs.Search fuzzy‑sökning?** +A: Absolut—aktivera fuzzy‑matchning i `SearchOptions` för att hämta resultat med mindre stavningsvariationer. + +## Additional Resources + +### Available Tutorials + +### [Distribuera GroupDocs.Search för Java: Omfattande installationsguide](./deploy-groupdocs-search-java-setup-guide/) +Lär dig hur du distribuerar och konfigurerar GroupDocs.Search för Java med denna steg‑för‑steg‑guide. Förbättra dokumentindexering och sökfunktioner i dina projekt. + +### Helpful Links +- [GroupDocs.Search för Java-dokumentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search för Java API‑referens](https://reference.groupdocs.com/search/java/) +- [Ladda ner GroupDocs.Search för Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search‑forum](https://forum.groupdocs.com/c/search) +- [Gratis support](https://forum.groupdocs.com/) +- [Tillfällig licens](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Senast uppdaterad:** 2025-12-29 +**Testat med:** GroupDocs.Search 23.12 för Java +**Författare:** GroupDocs \ No newline at end of file diff --git a/content/swedish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/swedish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..31f54c98 --- /dev/null +++ b/content/swedish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,241 @@ +--- +date: '2025-12-29' +description: Lär dig hur du rensar java‑katalogen, automatiserar dokumenthantering + och byter namn på filer med GroupDocs.Search för Java. Öka effektiviteten i dina + applikationer. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Rensa katalog Java – Automatisera indexering och namnbyte +type: docs +url: /sv/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Automatisera dokumentindexering och namnbyte med GroupDocs.Search + +Om du behöver **clean directory java** samtidigt som du automatiserar dokumentindexering och namnbyte, har du kommit till rätt ställe. Att manuellt hantera filflyttningar, borttagningar och indexuppdateringar är felbenäget och tidskrävande. I den här handledningen visar vi hur du låter Java göra det tunga arbetet, med **GroupDocs.Search for Java** för att skapa ett sökbart index, byta namn på filer och hålla indexet automatiskt synkroniserat. + +## Snabba svar +- **Vad betyder “clean directory java”?** Raderar alla filer/mappar i en mål katalog med Java‑kod. +- **Vilket bibliotek skapar det sökbara indexet?** GroupDocs.Search for Java. +- **Hur byter jag namn på ett dokument och håller indexet uppdaterat?** Använd `File.renameTo()` och meddela sedan indexet med `Notification.createRenameNotification`. +- **Kan jag kopiera filer efter att ha rensat mappen?** Ja – Java Streams kan kopiera filer samtidigt som indexet bevaras. +- **Krävs en licens för produktion?** En giltig GroupDocs.Search‑licens behövs för kommersiell användning. + +## Vad är “clean directory java”? +Att rensa en katalog i Java innebär att programmässigt ta bort varje fil och undermapp i en angiven mapp. Detta är ofta ett förutsättningssteg innan man kopierar nya filer eller bygger om ett index, för att säkerställa att föråldrade data inte stör sökresultaten. + +## Varför automatisera dokumentindexering och namnbyte? +- **Document management automation** minskar manuellt arbete och eliminerar mänskliga fel. +- Ett **create searchable index**‑steg låter dig omedelbart hitta vilket dokument som helst efter innehåll. +- Att byta namn på filer utan att uppdatera indexet skulle förstöra sökprecisionen; automatisering håller allt konsekvent. + +## Prerequisites +- **GroupDocs.Search for Java** (Version 25.4 eller senare) +- JDK 8 + och en IDE såsom IntelliJ IDEA eller Eclipse +- Grundläggande Java‑kunskaper, särskilt fil‑I/O + +## Konfigurera GroupDocs.Search för Java + +### Maven Dependency +Lägg till repository och beroende i din `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Direct Download +Alternativt, ladda ner den senaste versionen från [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### License +Skaffa en gratis provperiod, en tillfällig utvärderingslicens, eller köp en full licens för produktionsanvändning. + +### Basic Initialization +Skapa en `Index`‑instans som kommer att hålla den sökbara datan: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Implementeringsguide + +### 1. Lägg till dokument i index (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Förklaring*: +- `indexFolder` – där indexfilerna lagras. +- `documentFolder` – källmappen som innehåller filerna du vill göra sökbara. + +### 2. Byt namn på ett dokument och meddela indexet + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Förklaring*: +- Java:s `File.renameTo()` utför det fysiska namnbytet. +- `Notification.createRenameNotification()` informerar GroupDocs.Search om att filnamnet ändrats, vilket håller indexet korrekt. + +## Clean Directory Java – Katalogrensning och filkopiering + +Att hålla en mapp prydlig innan en masskopiering förhindrar dubbletter eller föräldralösa filer. Nedan finns två återanvändbara kodsnuttar. + +### Steg 1: Radera mappens innehåll (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Förklaring*: +- `Files.walk()` traverserar varje fil och undermapp. +- Sortering i omvänd ordning säkerställer att filer tas bort innan deras föräldramappar, vilket effektivt **delete folder contents**. + +### Steg 2: Kopiera filer (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Förklaring*: +- Strömmen filtrerar endast vanliga filer och kopierar sedan varje till mål katalogen, och skriver över befintliga filer om det behövs. + +## Praktiska tillämpningar +- **Enterprise Document Management** – Automatisera indexering för tusentals kontrakt och håll filnamn synkroniserade. +- **Legal Firms** – Byt snabbt namn på ärendefiler samtidigt som du bevarar sökbart innehåll. +- **Content Management Systems** – Använd clean‑directory‑mönstret för att uppdatera mediamappar utan manuell rensning. + +## Prestandaöverväganden +- **Index Size** – Komprimera indexet periodiskt om det blir stort. +- **Memory Usage** – Processa filer i batcher för att undvika `OutOfMemoryError`. +- **Concurrency** – För massoperationer, överväg Java:s `ExecutorService` för att parallellisera rensning och kopiering. + +## Vanliga problem & tips + +| Issue | Cause | Fix | +|-------|-------|-----| +| Rename fails | File is locked or path invalid | Ensure the file isn’t open elsewhere; use `Files.move` for more reliable renames. | +| Index not updating | Notification not sent | Always call `index.notifyIndex(notification)` followed by `index.update()`. | +| Stale search results after copy | Index still points to old files | Re‑add the target folder to the index or call `index.update()` after copying. | + +## Vanliga frågor + +**Q: Kan jag rensa en katalog som innehåller undermappar?** +A: Ja. `Files.walk()`‑metoden tar rekursivt bort alla inbäddade filer och mappar. + +**Q: Måste jag bygga om hela indexet efter varje namnbyte?** +A: Nej. Att skicka ett namnbytesmeddelande och anropa `index.update()` är tillräckligt. + +**Q: Hur stor mapp kan jag rensa innan prestandagränser nås?** +A: Det beror på JVM‑minnet; att bearbeta i mindre batcher eller använda streams hjälper hantera stora datamängder. + +**Q: Är GroupDocs.Search gratis för utveckling?** +A: En gratis provperiod finns tillgänglig, men en betald licens krävs för produktionsanvändning. + +**Q: Kan jag använda detta tillvägagångssätt med andra filtyper (t.ex. PDF, DOCX)?** +A: Absolut. GroupDocs.Search stöder många format; lägg bara till mappen som innehåller dessa filer i indexet. + +## Slutsats + +Du har nu en komplett, produktionsklar lösning för **clean directory java**, som lägger till dokument i ett sökbart index, byter namn på filer och håller allt synkroniserat med GroupDocs.Search. Använd dessa mönster för att automatisera ditt dokumenthanteringsflöde och njut av snabbare, mer pålitliga sökupplevelser. + +--- + +**Senast uppdaterad:** 2025-12-29 +**Testad med:** GroupDocs.Search 25.4 +**Författare:** GroupDocs \ No newline at end of file diff --git a/content/swedish/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/swedish/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..c0b293c9 --- /dev/null +++ b/content/swedish/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Lär dig hur du hanterar dokumentlösenord i Java med GroupDocs.Search, + skapar sökbara index och effektivt söker i flera dokument. +keywords: +- manage document passwords java +- search across multiple documents +title: Hantera dokumentlösenord i Java med GroupDocs.Search +type: docs +url: /sv/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Hantera dokumentlösenord Java med GroupDocs.Search + +I moderna företagsapplikationer är **manage document passwords Java** ett avgörande steg för att hålla känsliga filer säkra samtidigt som man möjliggör snabb, pålitlig sökning. I den här guiden visar vi hur du skapar och hanterar index med GroupDocs.Search, lagrar lösenord säkert i indexordlistan och sedan **search across multiple documents** enkelt. Oavsett om du bygger ett dokument‑hanteringssystem eller lägger till sökning i en befintlig Java‑app, så får du snabbt igång med stegen nedan. + +## Snabba svar +- **What does “manage document passwords Java” mean?** Det hänvisar till att lagra och hämta lösenord för skyddade filer direkt i sökindexet. +- **Can I index password‑protected files?** Ja—lägg till lösenorden i indexordlistan innan indexering. +- **How many documents can I search at once?** GroupDocs.Search kan **search across multiple documents** i en enda fråga. +- **Do I need a license for production?** En licens krävs för produktionsanvändning; en gratis provversion finns tillgänglig för utvärdering. +- **What Java version is required?** JDK 8 eller högre. + +## Vad är “manage document passwords Java”? +Att lagra dokumentlösenord i sökindexet låter motorn öppna skyddade filer automatiskt under indexering och sökning, vilket eliminerar behovet av manuell lösenordsinmatning varje gång. + +## Varför använda GroupDocs.Search för denna uppgift? +- **Built‑in password dictionary** – håll lösenord kopplade till filsökvägar. +- **High‑performance indexing** – hantera tusentals filer snabbt. +- **Rich query language** – stödjer komplexa sökningar över många dokumenttyper. + +## Förutsättningar +- **JDK 8+** installerat. +- **Maven** för beroendehantering. +- Grundläggande Java‑kunskaper (filhantering, klasser). + +## Konfigurera GroupDocs.Search för Java + +Lägg till förrådet och beroendet i din `pom.xml`: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Du kan också ladda ner biblioteket direkt från den officiella releasesidan: [GroupDocs.Search för Java-releaser](https://releases.groupdocs.com/search/java/). + +### Initiera indexet + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Hur hanterar man dokumentlösenord Java? + +### 1. Definiera indexmappen och skapa indexet +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Rensa befintliga lösenord (om några) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Lägg till ett lösenord för ett specifikt dokument +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Hämta och ta bort ett lösenord +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Lägg till lösenord för flera dokument +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Hur indexerar man dokument med lösenord? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Hur söker man över flera dokument? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Praktiska tillämpningar +- **Enterprise Document Management** – säkra, sökbara arkiv. +- **Content Management Platforms** – snabb hämtning av skyddade tillgångar. +- **Legal Document Repositories** – upprätthålla sekretess samtidigt som fulltextsökning möjliggörs. + +## Prestandaöverväganden +- **Parallel Indexing** – använd flera trådar för stora batcher. +- **Memory Monitoring** – håll koll på JVM‑heapen under massiva import. +- **Regular Index Maintenance** – återindexera när filer ändras eller lösenord uppdateras. + +## Slutsats +Du vet nu hur du **manage document passwords Java** med GroupDocs.Search, skapar robusta index och utför kraftfull **search across multiple documents**. Genom att integrera dessa steg i din applikation levererar du säkra, snabba och skalbara sökupplevelser. + +**Nästa steg** +- Prova avancerade frågeoperatorer (jokertecken, fuzzy‑sökning). +- Utforska inkrementell indexering för real‑tidsuppdateringar. +- Kombinera med andra GroupDocs‑produkter för PDF‑konvertering eller annotering. + +## Vanliga frågor + +**Q: Kan jag indexera stora volymer av dokument?** +A: Ja, GroupDocs.Search är designat för att hantera omfattande samlingar effektivt. + +**Q: Är det möjligt att uppdatera ett befintligt index med nya dokument?** +A: Absolut! Du kan lägga till eller ta bort dokument från ditt index efter behov. + +**Q: Hur säkerställer jag säkerheten för mina indexerade data?** +A: Använd dokument‑lösenordsordlistan och lagra indexet i en skyddad katalog. + +**Q: Kan GroupDocs.Search hantera olika filformat?** +A: Ja, den stödjer PDF‑filer, Word‑dokument, Excel‑blad och många andra vanliga format. + +**Q: Vad händer om jag stöter på prestandaproblem under indexering?** +A: Överväg att aktivera parallell bearbetning, öka heap‑storleken eller finjustera indexinställningarna. + +--- + +**Senast uppdaterad:** 2025-12-29 +**Testad med:** GroupDocs.Search 25.4 för Java +**Författare:** GroupDocs + +**Resurser** +- [Dokumentation](https://docs.groupdocs.com/search/java/) +- [API‑referens](https://reference.groupdocs.com/search/java) +- [Ladda ner GroupDocs.Search för Java](https://releases.groupdocs.com/search/java/) +- [GitHub‑arkiv](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/swedish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/swedish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..b5b2fce2 --- /dev/null +++ b/content/swedish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,278 @@ +--- +date: '2025-12-29' +description: Lär dig hur du indexerar Java‑dokument och skapar ett sökindex med GroupDocs.Search + för Java. Denna guide täcker installation, indexering, sökning och effektiv hantering + av dokument. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Hur man indexerar Java-dokument med GroupDocs.Search – Effektiv sökning +type: docs +url: /sv/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# How to Index Java Documents with GroupDocs.Search – Efficient Search + +## Introduction + +Känner du dig överväldigad av en enorm mängd dokument och undrar **how to index java** filer snabbt? Många företag och individer möter denna utmaning dagligen. **GroupDocs.Search for Java** erbjuder en effektiv lösning för att förenkla dokumentsökningar, vilket gör processen snabbare och mer hanterbar. + +I den här handledningen kommer vi att guida dig genom att använda GroupDocs.Search for Java för att skapa ett indexerat arkiv av dina dokument. Du kommer att lära dig hur du laddar dokument från ett filsystem, utför sökningar, hanterar borttagningar och hämtar indexerad data på ett effektivt och skalbart sätt. + +**What You’ll Learn:** +- Installera och konfigurera GroupDocs.Search for Java. +- **Skapa ett sökindex** och indexera dokument från strömmar. +- Ladda dokument från filsystemet. +- **Utföra nyckelordssökning** i ditt index. +- **Hur man tar bort index**-poster för specifika dokument. +- Hämta indexerade dokument efter borttagningar. + +Redo att revolutionera hur du hanterar dokumentsökningar? Låt oss börja med förutsättningarna! + +## Quick Answers + +**Snabba svar** +- **Vad är huvudsyftet?** Att effektivt indexera och söka i Java-dokument. +- **Vilket bibliotek krävs?** GroupDocs.Search for Java (v25.4+). +- **Behöver jag en licens?** En gratis provperiod eller tillfällig licens är tillgänglig; en permanent licens krävs för produktion. +- **Kan jag ta bort dokument från indexet?** Ja, genom att använda `delete`-metoden med dokumentnycklar. +- **Är Apache Commons IO obligatoriskt?** Det rekommenderas för filhanteringsverktyg. + +## What is “how to index java”? + +Vad är “how to index java”? + +Att indexera Java-dokument innebär att skapa en sökbar datastruktur (ett index) som mappar dokumentinnehåll till sökbara termer, vilket möjliggör snabb återvinning av relevanta filer baserat på nyckelordsfrågor. + +## Why Use GroupDocs.Search for Java? + +### Varför använda GroupDocs.Search for Java? + +- **Hastighet:** Optimerade algoritmer levererar snabba frågeresultat även på stora samlingar. +- **Skalbarhet:** Hanterar tusentals dokument utan att kompromissa med prestanda. +- **Flexibilitet:** Stöder olika filformat och erbjuder lazy loading för stora filer. +- **Lätt att integrera:** Enkelt Maven‑upplägg och tydligt API. + +## Prerequisites + +### Förutsättningar + +Innan vi börjar, se till att du har följande: + +#### Nödvändiga bibliotek och beroenden +- **GroupDocs.Search for Java**: Säkerställ att version 25.4 eller senare är installerad. +- **Apache Commons IO**: Behövs för filhanteringsverktyg. + +#### Miljöinställningar +- Java Development Kit (JDK) 8 eller högre. +- Integrerad utvecklingsmiljö (IDE) som IntelliJ IDEA eller Eclipse. + +#### Kunskapsförutsättningar +- Grundläggande förståelse för Java‑programmering och objektorienterade koncept. +- Bekantskap med Maven för beroendehantering är fördelaktigt men inte obligatoriskt. + +## Setting Up GroupDocs.Search for Java + +### Installera GroupDocs.Search för Java + +Att konfigurera din projektmiljö med GroupDocs.Search innebär följande steg med Maven: + +**Maven‑konfiguration:** +Lägg till följande repository och beroende i din `pom.xml`‑fil: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Direkt nedladdning:** +Alternativt, ladda ner den senaste versionen direkt från [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Steg för att skaffa licens +- **Gratis provperiod:** Börja med en gratis provperiod för att testa dess funktioner. +- **Tillfällig licens:** Ansök om en tillfällig licens för att utforska alla funktioner utan begränsningar. +- **Köp:** Överväg att köpa om den uppfyller dina behov. + +**Grundläggande initiering och konfiguration:** + +När din miljö är klar, initiera GroupDocs.Search så här: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## How to Index Java Documents Using GroupDocs.Search + +### Så indexerar du Java-dokument med GroupDocs.Search + +#### Skapa och indexera dokument + +**Översikt:** +Lär dig hur du skapar ett index i en angiven mapp och lägger till dokument från strömmar, vilket förenklar processen **create search index**. + +##### Steg 1: Skapa ett index +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parametrar:** Den första parametern är katalogsökvägen för att lagra index. Det andra booleska värdet möjliggör automatisk uppdatering av indexet om det redan finns. + +##### Steg 2: Ladda och lägg till dokument från ström +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Förklaring:** Här skapar du en `DocumentLoader` för att läsa filen och förbereda den för indexering. Metoden `createLazy` används för att hantera stora filer effektivt. + +### Ladda dokument från filsystemet + +**Översikt:** +Implementera en anpassad laddare som läser dokument direkt från ditt filsystem med hjälp av Apache Commons IO‑verktyg. + +#### Steg 1: Definiera Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detaljer:** Denna klass läser filen till en byte‑array och skapar ett `Document`‑objekt från den. + +### Utföra nyckelordssökning i ett index + +**Översikt:** +Utför sökoperationer på dina indexerade dokument för att snabbt hämta relevant information. + +#### Steg 1: Utför sökning +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Förklaring:** Använd `search`‑metoden med en enkel textfråga för att få resultat från din indexerade data. Detta tillvägagångssätt är effektivt för scenarier med **java document search**. + +### Så tar du bort indexposter + +**Översikt:** +Hantera ditt index genom att ta bort specifika dokument med deras nycklar. + +#### Steg 1: Ta bort dokument +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parametrar:** Skicka arrayen med dokumentnycklar du vill ta bort från indexet. `UpdateOptions` möjliggör flexibla borttagningsstrategier. + +### Hämta indexerade dokument efter borttagning + +**Översikt:** +Efter att ha tagit bort dokument, hämta en lista över återstående indexerade filer för att säkerställa dataintegritet. + +#### Steg 1: Hämta återstående dokument +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Förklaring:** Detta steg hjälper till att verifiera det aktuella tillståndet för ditt index efter eventuella borttagningar. + +## Practical Applications + +### Praktiska tillämpningar + +GroupDocs.Search for Java är mångsidig och erbjuder många användningsområden såsom: + +1. **Företagsdokumenthantering:** Snabbt söka igenom företagets dokument för att öka produktiviteten. +2. **Juridisk dokumentanalys:** Effektivt gå igenom ärenden och juridiska texter för att hitta relevanta prejudikat. +3. **Bibliotekskatalogiseringssystem:** Indexera och hantera stora samlingar av böcker och manuskript för enklare åtkomst. + +## Performance Considerations + +### Prestandaöverväganden + +För optimal prestanda: +- **Indexoptimering:** Uppdatera regelbundet ditt index för att återspegla senaste ändringar i dokument. +- **Minneshantering:** Använd Javas skräpsamling effektivt genom att hantera resursintensiva operationer. +- **Skalbarhet:** Säkerställ att din indexeringsstrategi kan hantera stora datamängder utan att prestandan försämras. + +## Common Issues and Solutions + +### Vanliga problem och lösningar + +| Problem | Orsak | Lösning | +|-------|-------|----------| +| **No results returned** | Query terms not indexed or stop‑words filtered | Verify `IndexingOptions` and adjust stop‑words list | +| **Out‑of‑memory errors** | Loading very large files without lazy loading | Use `Document.createLazy` or increase JVM heap size | +| **Deleted documents still appear** | Index not refreshed after deletion | Call `index.optimize()` or reopen the index | + +## Frequently Asked Questions + +### Vanliga frågor + +**Q: Kan jag indexera PDF‑, DOCX‑ och PPTX‑filer tillsammans?** +A: Ja, GroupDocs.Search stöder ett brett sortiment av format direkt. + +**Q: Hur fungerar “how to delete index” under huven?** +A: `delete`‑metoden tar bort poster baserat på dokumentnycklar och uppdaterar interna posting‑listor för att hålla indexet konsistent. + +**Q: Finns det ett sätt att övervaka indexstorlek?** +A: Använd `index.getStatistics()` för att hämta information om dokumentantal och lagringsstorlek. + +**Q: Måste jag bygga om hela indexet efter varje borttagning?** +A: Nej, `delete`‑operationen uppdaterar indexet inkrementellt och bevarar befintlig data. + +**Q: Vad händer om jag måste åter‑indexera alla dokument efter en schemaväxling?** +A: Skapa en ny `Index`‑instans med en annan mappväg och lägg till alla dokument igen. + +## Conclusion + +### Slutsats + +Vid det här laget bör du ha en solid förståelse för **how to index java** dokument och kunna utföra snabba sökningar med GroupDocs.Search for Java. Detta kraftfulla bibliotek kan förändra hur du hanterar och hämtar information från stora dokumentsamlingar, vilket gör det till ett ovärderligt verktyg för alla organisationer. + +**Nästa steg:** +- Experimentera med olika dokumenttyper och komplexa frågor. +- Utforska avancerade funktioner som facetterad sökning, metadata‑indexering och anpassade analysatorer. + +Redo att påbörja din indexeringsresa? Implementera dessa tekniker idag och upplev snabbare, mer exakt dokumenthämtning! + +--- + +**Senast uppdaterad:** 2025-12-29 +**Testat med:** GroupDocs.Search Java 25.4 +**Författare:** GroupDocs \ No newline at end of file diff --git a/content/swedish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/swedish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..736db458 --- /dev/null +++ b/content/swedish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: Lär dig hur du optimerar sökprestanda med hjälp av avancerade indexeringsfunktioner + i GroupDocs.Search för Java, inklusive avbrytning, asynkrona operationer, multitrådning + och anpassning av metadata. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Optimera sökprestanda med avancerade indexeringstekniker i GroupDocs.Search + för Java +type: docs +url: /sv/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Optimera sökprestanda med avancerade indexeringstekniker i GroupDocs.Search för Java + +I dagens snabbrörliga digitala miljö är **optimering av sökprestanda** avgörande för att leverera omedelbara resultat till användarna. Oavsett om du bygger en egen sökmotor eller förbättrar ett befintligt dokumenthanteringssystem, kan rätt indexeringsstrategi dramatiskt minska latens och resursförbrukning. I den här handledningen går vi igenom de mest kraftfulla funktionerna i GroupDocs.Search för Java – avbrytning, asynkron indexering, flertrådad körning och anpassning av metadata – så att du kan **add documents index** snabbare och mer effektivt. + +**Vad du kommer att lära dig** + +- Hur du avbryter en indexeringsoperation efter en angiven tid +- Utföra asynkrona indexeringsoperationer och hantera statusändringar +- Konfigurera flertrådad körning för snabbare indexering +- Anpassa metadata‑indexeringsalternativ + +Låt oss se till att du har allt du behöver innan vi dyker ner i koden. + +## Förutsättningar + +- **GroupDocs.Search Library** – version 25.4 eller senare. +- **Java Development Environment** – JDK 8 eller högre rekommenderas. +- Grundläggande kunskap om Java och konceptet indexering. + +### Installera GroupDocs.Search för Java + +#### Maven‑installation + +Lägg till repository och beroende i din `pom.xml`‑fil: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direkt nedladdning + +Alternativt kan du ladda ner den senaste JAR‑filen från [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**Licensanskaffning** – Börja med en gratis provperiod eller begär en tillfällig licens för att låsa upp hela funktionsuppsättningen. + +### Grundläggande initiering och konfiguration + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Snabba svar +- **Vad gör avbrytning?** Stoppar indexering efter en bestämd tid för att frigöra resurser. +- **Kan jag indexera dokument asynkront?** Ja – sätt `options.setAsync(true)`. +- **Hur många trådar kan jag använda?** Vilket positivt heltal som helst; typiska värden är 2‑4 för de flesta servrar. +- **Är metadata‑indexering valfri?** Absolut – du kan aktivera eller finjustera den per fält. +- **Behöver jag licens för dessa funktioner?** En provperiod fungerar för testning; en full licens krävs för produktion. + +## Vad betyder “Optimera sökprestanda” i detta sammanhang? + +Att optimera sökprestanda innebär att konfigurera indexeringsprocessen så att den använder rätt mängd CPU, minne och tid samtidigt som den levererar de mest relevanta resultaten omedelbart. Genom att styra avbrytning, asynkron körning, trådar och metadata‑hantering påverkar du direkt hur snabbt motorn kan **add documents index** och svara på frågor. + +## Varför använda avancerade indexeringsfunktioner? + +- **Minskad latens** – Asynkron och flertrådad indexering håller din applikation responsiv. +- **Bättre resurshantering** – Avbrytning förhindrar okontrollerade processer. +- **Skräddarsydd sökrelevans** – Metadata‑alternativ låter dig lyfta fram den viktigaste informationen. + +## Implementeringsguide + +### Avbrytnings‑egenskap + +**Översikt** – Avbryt indexering efter en angiven varaktighet för att undvika överdriven resursförbrukning. + +#### Steg 1: Ställ in miljön + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Steg 2: Skapa indexeringsalternativ med avbrytning + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Viktiga punkter** + +- `setCancellation()` aktiverar funktionen. +- `cancelAfter(int milliseconds)` definierar tidsgränsen (3 sekunder i detta exempel). + +### Asynkron‑egenskap + +**Översikt** – Kör indexering på en bakgrundstråd och lyssna på statusändringar. + +#### Steg 1: Ställ in miljön + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Steg 2: Prenumerera på StatusChanged‑händelse + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Steg 3: Konfigurera asynkrona alternativ + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Trådar‑egenskap + +**Översikt** – Snabba upp indexering genom att utnyttja flera CPU‑kärnor. + +#### Steg 1: Ställ in miljön + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Steg 2: Konfigurera flertrådad körning + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata‑indexeringsalternativ‑egenskap + +**Översikt** – Finjustera vilka dokumentmetadata som indexeras och hur de lagras. + +#### Steg 1: Ställ in miljön + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Steg 2: Konfigurera metadata‑alternativ + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Praktiska tillämpningar + +1. **Dokumenthanteringssystem** – Använd asynkron indexering för att hålla UI‑responsivt medan stora batcher bearbetas i bakgrunden. +2. **Innehållssökmotorer** – Tillämpa avbrytning för att förhindra att långvariga jobb tar upp serverresurser under hög trafik. +3. **Storskaliga ingest‑pipelines** – Utnyttja flertrådad körning för att **add documents index** i stor skala, vilket kraftigt minskar behandlingstiden. + +## Prestanda‑överväganden + +- **Trådhante­ring** – Övervaka CPU‑användning; för många trådar kan skapa overhead för kontext‑switch. +- **Minnesavtryck** – Metadata‑gränser (t.ex. `setMaxBytesToIndexField`) hjälper till att hålla minnesanvändningen förutsägbar. +- **Soppsamling** – Använd lämpliga JVM‑flaggor (`-Xmx`, `-XX:+UseG1GC`) när du indexerar enorma korpusar. + +## Vanliga problem och lösningar + +| Symptom | Trolig orsak | Åtgärd | +|---------|--------------|--------| +| Indexering avslutas aldrig | Avbrytning satt för lågt | Öka värdet på `cancelAfter` eller ta bort avbrytning för långa jobb | +| Inga statusuppdateringar i async‑läge | Händelsehanterare inte korrekt ansluten | Säkerställ att `index.getEvents().StatusChanged.add(...)` anropas innan `index.add` | +| Out‑of‑memory‑fel | För många trådar eller höga metadata‑gränser | Minska `options.setThreads` och sänk gränserna för metadatafält | +| Metadata saknas i resultat | Metadata‑indexering inaktiverad | Verifiera att `options.getMetadataIndexingOptions()` är konfigurerad och inte satt till att ignorera fält | + +## Vanliga frågor + +**Q: Hur får jag en tillfällig licens för GroupDocs.Search?** +A: Besök [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q: Kan jag avbryta en indexeringsoperation mitt i processen?** +A: Ja – använd avbrytnings‑egenskapen med `cancelAfter()` eller anropa `Cancellation.cancel()` programatiskt. + +**Q: Vilka användningsfall finns för asynkron indexering?** +A: Realtids‑dokumenthämtning, bakgrundsbatch‑bearbetning och UI‑responsiva applikationer drar nytta av async‑indexering. + +**Q: Är det säkert att öka antalet trådar på en delad server?** +A: Öka gradvis och övervaka CPU‑belastning; på starkt delade miljöer bör trådtalet hållas måttligt (2‑4). + +**Q: Hur påverkar metadata‑indexering sökrelevansen?** +A: Korrekt indexerad metadata (författare, skapandedatum, taggar) kan viktas högre i frågor, vilket förbättrar resultatens noggrannhet. + +## Slutsats + +Genom att utnyttja dessa avancerade funktioner i GroupDocs.Search för Java kommer du att **optimera sökprestanda** i en rad olika scenarier – från snabb dokumentingest till finjusterad metadata‑kontroll. Experimentera med olika konfigurationer, övervaka resursanvändning och anpassa inställningarna efter din specifika arbetsbelastning för att uppnå bästa möjliga resultat. + +--- + +**Senast uppdaterad:** 2025-12-29 +**Testat med:** GroupDocs.Search 25.4 för Java +**Författare:** GroupDocs + +--- \ No newline at end of file diff --git a/content/thai/java/getting-started/_index.md b/content/thai/java/getting-started/_index.md new file mode 100644 index 00000000..b70810aa --- /dev/null +++ b/content/thai/java/getting-started/_index.md @@ -0,0 +1,99 @@ +--- +date: 2025-12-29 +description: คู่มือแบบขั้นตอนต่อขั้นตอนเกี่ยวกับวิธีการกำหนดค่า GroupDocs.Search สำหรับนักพัฒนา + Java ครอบคลุมการติดตั้ง การให้สิทธิ์ใช้งาน และการสร้างโซลูชันการค้นหาแรกของคุณ +title: 'วิธีกำหนดค่า GroupDocs.Search - บทเรียนเริ่มต้นสำหรับ Java' +type: docs +url: /th/java/getting-started/ +weight: 1 +--- + +# วิธีกำหนดค่า GroupDocs.Search - การสอนเริ่มต้นสำหรับ Java + +ยินดีต้อนรับสู่คู่มือฉบับสมบูรณ์เกี่ยวกับ **วิธีกำหนดค่า GroupDocs.Search** สำหรับแอปพลิเคชัน Java ในบทเรียนนี้คุณจะได้เรียนรู้ขั้นตอนสำคัญในการติดตั้งไลบรารี ตั้งค่าไลเซนส์ และสร้างโซลูชันการค้นหาเอกสารแรกของคุณ ไม่ว่าคุณจะเริ่มโครงการใหม่หรือผสานการค้นหาเข้ากับโค้ดฐานที่มีอยู่ คู่มือนี้จะให้ทุกอย่างที่คุณต้องการเพื่อให้เริ่มทำงานได้อย่างรวดเร็ว + +## คำตอบสั้น +- **ขั้นตอนแรกคืออะไร?** ติดตั้งแพคเกจ GroupDocs.Search Java ผ่าน Maven หรือ Gradle +- **ต้องการไลเซนส์หรือไม่?** ใช่ – ไลเซนส์ชั่วคราวใช้ได้สำหรับการพัฒนา; ไลเซนส์เต็มจำเป็นสำหรับการผลิต +- **IDE ไหนดีที่สุด?** IDE Java ใดก็ได้ (IntelliJ IDEA, Eclipse, VS Code) ที่รองรับโครงการ Maven/Gradle +- **สามารถทำดัชนี PDFs และไฟล์ Word ได้หรือไม่?** แน่นอน – GroupDocs.Search รองรับรูปแบบเอกสารหลากหลายโดยอัตโนมัติ +- **การตั้งค่าต้องใช้เวลาเท่าไหร่?** ปกติใช้เวลาน้อยกว่า 15 นาทีสำหรับโครงการใหม่ + +## “วิธีกำหนดค่า GroupDocs.Search” คืออะไร? +การกำหนดค่า GroupDocs.Search หมายถึงการเตรียมไลบรารีให้ทำการทำดัชนีเอกสาร กำหนดตำแหน่งที่จัดเก็บข้อมูลดัชนี และใส่คีย์ไลเซนส์ของคุณเพื่อให้ API ทำงานได้โดยไม่มีข้อจำกัด การกำหนดค่าที่ถูกต้องช่วยให้ได้ผลการค้นหาที่เร็วและแม่นยำ รวมถึงการผสานรวมที่ราบรื่นกับโค้ด Java ของคุณ + +## ทำไมต้องกำหนดค่า GroupDocs.Search สำหรับ Java? +- **การนำไปใช้ที่รวดเร็ว** – ต้องใช้โค้นน้อยที่สุดเพื่อเริ่มทำดัชนีและค้นหา +- **การทำดัชนีที่ขยายได้** – รองรับคอลเลกชันเอกสารขนาดใหญ่โดยไม่สูญเสียประสิทธิภาพ +- **รองรับรูปแบบไฟล์หลากหลาย** – ทำงานกับ PDF, DOCX, XLSX, PPTX และไฟล์อื่น ๆ อีกมากมาย +- **ไลเซนส์ที่ปลอดภัย** – รับประกันการปฏิบัติตามและเปิดใช้งานคุณสมบัติพรีเมียมทั้งหมด + +## ข้อกำหนดเบื้องต้น +- Java Development Kit (JDK) 8 หรือสูงกว่า +- Maven 3 หรือ Gradle 5 สำหรับการจัดการ dependencies +- เข้าถึงคีย์ไลเซนส์ GroupDocs.Search ชั่วคราวหรือเต็ม + +## คู่มือขั้นตอน‑โดย‑ขั้นตอน + +### ขั้นตอนที่ 1: เพิ่ม GroupDocs.Search ไปยังโปรเจกต์ของคุณ +ใส่ dependency ของ GroupDocs.Search ลงใน `pom.xml` (Maven) หรือ `build.gradle` (Gradle) เพื่อให้ไลบรารีพร้อมใช้งานในโค้ดของคุณ + +### ขั้นตอนที่ 2: ใส่ไลเซนส์ของคุณ +สร้างอ็อบเจ็กต์ `License` แล้วโหลดไฟล์ไลเซนส์ชั่วคราวหรือถาวรของคุณ ขั้นตอนนี้จะปลดล็อกฟังก์ชันทั้งหมดและลบข้อจำกัดการประเมินผล + +### ขั้นตอนที่ 3: เริ่มต้นการตั้งค่า Index +กำหนดตำแหน่งที่ไฟล์ดัชนีจะถูกจัดเก็บบนดิสก์และกำหนดตัวเลือกการทำดัชนีที่คุณต้องการ (เช่น ความไวต่อขนาดตัวอักษร, คำหยุด) + +### ขั้นตอนที่ 4: ทำดัชนีเอกสารของคุณ +ใช้คลาส `Indexer` เพื่อเพิ่มไฟล์หรือโฟลเดอร์ลงในดัชนี GroupDocs.Search จะตรวจจับประเภทไฟล์โดยอัตโนมัติและสกัดข้อความที่สามารถค้นหาได้ + +### ขั้นตอนที่ 5: รันคำค้นหา +สร้างอ็อบเจ็กต์ `SearchOptions` ระบุสตริงคำค้น แล้วเรียกใช้การค้นหา API จะคืนรายการเอกสารที่ตรงกับคำค้นพร้อมคะแนนความเกี่ยวข้อง + +### ขั้นตอนที่ 6: ตรวจสอบผลลัพธ์ +วนลูปผลการค้นหา แสดงชื่อไฟล์ และหากต้องการสามารถไฮไลท์คำที่ตรงกันใน UI ได้ + +## ปัญหาที่พบบ่อยและวิธีแก้ +- **ไลเซนส์ไม่ถูกต้อง** – ตรวจสอบเส้นทางไฟล์ไลเซนส์และให้แน่ใจว่าเวอร์ชันของ GroupDocs.Search ตรงกัน +- **รูปแบบเอกสารหาย** – ติดตั้ง add‑on `groupdocs-conversion` หากต้องการสนับสนุนไฟล์ที่ไม่ค่อยพบ +- **คอขวดด้านประสิทธิภาพ** – ใช้การทำดัชนีแบบเพิ่มขั้นและกำหนดโฟลเดอร์ดัชนีบน SSD เพื่อการเข้าถึงที่เร็วขึ้น + +## คำถามที่พบบ่อย + +**ถาม: สามารถใช้ GroupDocs.Search บนเซิร์ฟเวอร์ Linux ได้หรือไม่?** +ตอบ: ใช่ ไลบรารีเป็นแบบ platform‑independent และทำงานบน OS ใดก็ได้ที่รองรับ Java + +**ถาม: จะอัปเดตดัชนีหลังจากเพิ่มไฟล์ใหม่อย่างไร?** +ตอบ: เรียกใช้ `Indexer` อีกครั้งพร้อมไฟล์ใหม่ ไลบรารีจะผสานไฟล์เหล่านั้นเข้ากับดัชนีเดิมโดยอัตโนมัติ + +**ถาม: มีวิธีจำกัดผลการค้นหาให้แสดงเฉพาะโฟลเดอร์ที่กำหนดหรือไม่?** +ตอบ: มี ตั้งค่า `SearchOptions` ให้มีตัวกรองโฟลเดอร์ก่อนรันคำค้น + +**ถาม: จะเกิดอะไรขึ้นหากช่วงเวลาของไลเซนส์ชั่วคราวหมดอายุ?** +ตอบ: API จะทำงานในโหมดประเมินผลโดยมีฟีเจอร์จำกัด; ให้เปลี่ยนไฟล์ไลเซนส์เป็นคีย์ถาวรเพื่อคืนสภาพเต็มที่ + +**ถาม: GroupDocs.Search รองรับการค้นหาแบบ fuzzy หรือไม่?** +ตอบ: แน่นอน – เปิดใช้งาน fuzzy matching ใน `SearchOptions` เพื่อดึงผลลัพธ์ที่มีการสะกดผิดเล็กน้อย + +## แหล่งข้อมูลเพิ่มเติม + +### บทเรียนที่พร้อมใช้งาน + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +เรียนรู้วิธีการปรับใช้และกำหนดค่า GroupDocs.Search สำหรับ Java ด้วยคู่มือขั้นตอน‑โดย‑ขั้นตอนนี้ เพื่อเพิ่มประสิทธิภาพการทำดัชนีและการค้นหาเอกสารในโครงการของคุณ + +### ลิงก์ที่เป็นประโยชน์ +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**อัปเดตล่าสุด:** 2025-12-29 +**ทดสอบกับ:** GroupDocs.Search 23.12 for Java +**ผู้เขียน:** GroupDocs + +--- \ No newline at end of file diff --git a/content/thai/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/thai/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..57bb580f --- /dev/null +++ b/content/thai/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,245 @@ +--- +date: '2025-12-29' +description: เรียนรู้วิธีทำความสะอาดไดเรกทอรีใน Java, ทำการอัตโนมัติการจัดการเอกสาร, + และเปลี่ยนชื่อไฟล์โดยใช้ GroupDocs.Search สำหรับ Java. เพิ่มประสิทธิภาพในแอปพลิเคชันของคุณ. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: ทำความสะอาดไดเรกทอรี Java – อัตโนมัติการทำดัชนีและการเปลี่ยนชื่อ +type: docs +url: /th/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# ทำความสะอาดไดเรกทอรี Java – อัตโนมัติการทำดัชนีเอกสารและการเปลี่ยนชื่อโดยใช้ GroupDocs.Search + +หากคุณต้องการ **clean directory java** พร้อมกับอัตโนมัติการทำดัชนีเอกสารและการเปลี่ยนชื่อ คุณมาถูกที่แล้ว การจัดการการย้ายไฟล์ การลบไฟล์ และการอัปเดตดัชนีด้วยตนเองนั้นเสี่ยงต่อข้อผิดพลาดและใช้เวลามาก ในบทแนะนำนี้เราจะสาธิตวิธีให้ Java ทำงานหนักแทนคุณโดยใช้ **GroupDocs.Search for Java** เพื่อสร้างดัชนีที่ค้นหาได้ เปลี่ยนชื่อไฟล์ และทำให้ดัชนีสอดคล้องกันโดยอัตโนมัติ + +## คำตอบสั้น +- **“clean directory java” หมายถึงอะไร?** การลบไฟล์/โฟลเดอร์ทั้งหมดภายในไดเรกทอรีเป้าหมายด้วยโค้ด Java +- **ไลบรารีใดสร้างดัชนีที่ค้นหาได้?** GroupDocs.Search for Java +- **จะเปลี่ยนชื่อเอกสารและอัปเดตดัชนีอย่างไร?** ใช้ `File.renameTo()` แล้วแจ้งดัชนีด้วย `Notification.createRenameNotification` +- **สามารถคัดลอกไฟล์หลังจากทำความสะอาดโฟลเดอร์ได้หรือไม่?** ได้ – Java Streams สามารถคัดลอกไฟล์พร้อมรักษาดัชนีไว้ได้ +- **ต้องมีลิขสิทธิ์สำหรับการใช้งานในโปรดักชันหรือไม่?** จำเป็นต้องมีลิขสิทธิ์ GroupDocs.Search ที่ถูกต้องสำหรับการใช้งานเชิงพาณิชย์ + +## “clean directory java” คืออะไร? +การทำความสะอาดไดเรกทอรีใน Java หมายถึงการลบไฟล์และโฟลเดอร์ย่อยทั้งหมดภายในโฟลเดอร์ที่กำหนดโดยโปรแกรม ซึ่งมักเป็นขั้นตอนก่อนการคัดลอกไฟล์ใหม่หรือการสร้างดัชนีใหม่ เพื่อให้แน่ใจว่าข้อมูลเก่าไม่ไปขัดขวางผลการค้นหา + +## ทำไมต้องอัตโนมัติการทำดัชนีเอกสารและการเปลี่ยนชื่อ? +- **การอัตโนมัติการจัดการเอกสาร** ลดความพยายามจากมนุษย์และขจัดข้อผิดพลาด +- ขั้นตอน **สร้างดัชนีที่ค้นหาได้** ทำให้คุณสามารถค้นหาเอกสารใดก็ได้โดยอิงเนื้อหาได้ทันที +- การเปลี่ยนชื่อไฟล์โดยไม่อัปเดตดัชนีจะทำให้ความแม่นยำของการค้นหาลดลง; การอัตโนมัติทำให้ทุกอย่างสอดคล้องกัน + +## ข้อกำหนดเบื้องต้น + +- **GroupDocs.Search for Java** (เวอร์ชัน 25.4 หรือใหม่กว่า) +- JDK 8 + และ IDE เช่น IntelliJ IDEA หรือ Eclipse +- ความรู้พื้นฐานของ Java โดยเฉพาะการทำงานกับไฟล์ I/O + +## การตั้งค่า GroupDocs.Search for Java + +### ขึ้นอยู่กับ Maven +เพิ่ม repository และ dependency ลงในไฟล์ `pom.xml` ของคุณ: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### ดาวน์โหลดโดยตรง +หรือคุณสามารถดาวน์โหลดเวอร์ชันล่าสุดจาก [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) + +### ลิขสิทธิ์ +ขอรับลิขสิทธิ์ทดลองใช้งานฟรี, ลิขสิทธิ์ประเมินชั่วคราว, หรือซื้อลิขสิทธิ์เต็มสำหรับการใช้งานในโปรดักชัน + +### การเริ่มต้นพื้นฐาน +สร้างอินสแตนซ์ `Index` ที่จะเก็บข้อมูลที่สามารถค้นหาได้: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## คู่มือการทำงาน + +### 1. เพิ่มเอกสารลงในดัชนี (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*คำอธิบาย*: +- `indexFolder` – ที่เก็บไฟล์ดัชนี +- `documentFolder` – โฟลเดอร์ต้นทางที่มีไฟล์ที่คุณต้องการทำให้ค้นหาได้ + +### 2. เปลี่ยนชื่อเอกสารและแจ้งดัชนี + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*คำอธิบาย*: +- `File.renameTo()` ของ Java ทำการเปลี่ยนชื่อจริงบนไฟล์ระบบ +- `Notification.createRenameNotification()` แจ้งให้ GroupDocs.Search ทราบว่าชื่อไฟล์เปลี่ยนไป ทำให้ดัชนียังคงแม่นยำ + +## Clean Directory Java – การทำความสะอาดไดเรกทอรีและการคัดลอกไฟล์ + +การทำให้โฟลเดอร์เรียบร้อยก่อนการคัดลอกจำนวนมากช่วยป้องกันไฟล์ซ้ำหรือไฟล์ที่ไม่มีการอ้างอิง ด้านล่างเป็นโค้ดสแนปช็อตที่สามารถนำกลับมาใช้ใหม่ได้สองส่วน + +### ขั้นตอนที่ 1: ลบเนื้อหาโฟลเดอร์ (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*คำอธิบาย*: +- `Files.walk()` เดินผ่านไฟล์และโฟลเดอร์ย่อยทั้งหมด +- การจัดเรียงแบบย้อนกลับทำให้ไฟล์ถูกลบก่อนโฟลเดอร์แม่ ซึ่งเป็นการ **delete folder contents** อย่างมีประสิทธิภาพ + +### ขั้นตอนที่ 2: คัดลอกไฟล์ (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*คำอธิบาย*: +- สตรีมจะกรองเฉพาะไฟล์ปกติ แล้วคัดลอกแต่ละไฟล์ไปยังไดเรกทอรีเป้าหมาย โดยเขียนทับไฟล์ที่มีอยู่หากจำเป็น + +## การประยุกต์ใช้ในเชิงปฏิบัติ + +- **การจัดการเอกสารระดับองค์กร** – อัตโนมัติการทำดัชนีสำหรับสัญญานับพันฉบับและทำให้ชื่อไฟล์สอดคล้องกัน +- **สำนักงานกฎหมาย** – เปลี่ยนชื่อไฟล์คดีอย่างรวดเร็วพร้อมคงเนื้อหาที่ค้นหาได้ +- **ระบบจัดการเนื้อหา (CMS)** – ใช้รูปแบบ clean‑directory เพื่อรีเฟรชโฟลเดอร์สื่อโดยไม่ต้องทำความสะอาดด้วยมือ + +## พิจารณาด้านประสิทธิภาพ + +- **ขนาดดัชนี** – ควรทำการบีบอัดดัชนีเป็นระยะหากขนาดเพิ่มขึ้นมาก +- **การใช้หน่วยความจำ** – ประมวลผลไฟล์เป็นชุดเพื่อหลีกเลี่ยง `OutOfMemoryError` +- **การทำงานพร้อมกัน** – สำหรับการดำเนินการจำนวนมาก ควรพิจารณาใช้ `ExecutorService` ของ Java เพื่อทำความสะอาดและคัดลอกแบบขนาน + +## ปัญหาที่พบบ่อยและเคล็ดลับ + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|-------|--------| +| การเปลี่ยนชื่อไม่สำเร็จ | ไฟล์ถูกล็อกหรือพาธไม่ถูกต้อง | ตรวจสอบให้แน่ใจว่าไฟล์ไม่ได้เปิดอยู่ที่อื่น; ใช้ `Files.move` เพื่อทำการเปลี่ยนชื่อที่เชื่อถือได้มากขึ้น | +| ดัชนีไม่อัปเดต | ไม่ได้ส่ง Notification | ต้องเรียก `index.notifyIndex(notification)` ตามด้วย `index.update()` เสมอ | +| ผลการค้นหาเก่าเมื่อคัดลอก | ดัชนียังชี้ไปที่ไฟล์เก่า | เพิ่มโฟลเดอร์เป้าหมายลงในดัชนีใหม่หรือเรียก `index.update()` หลังการคัดลอก | + +## คำถามที่พบบ่อย + +**ถาม: สามารถทำความสะอาดไดเรกทอรีที่มีโฟลเดอร์ย่อยได้หรือไม่?** +ตอบ: ทำได้. วิธี `Files.walk()` จะลบไฟล์และโฟลเดอร์ย่อยทั้งหมดแบบเรียกซ้ำ + +**ถาม: จำเป็นต้องสร้างดัชนีใหม่ทั้งหมดหลังจากเปลี่ยนชื่อแต่ละครั้งหรือไม่?** +ตอบ: ไม่จำเป็น. เพียงส่งการแจ้งเตือนการเปลี่ยนชื่อและเรียก `index.update()` ก็เพียงพอ + +**ถาม: สามารถทำความสะอาดโฟลเดอร์ขนาดใหญ่ได้ก่อนที่จะถึงขีดจำกัดประสิทธิภาพหรือไม่?** +ตอบ: ขึ้นอยู่กับหน่วยความจำของ JVM; การประมวลผลเป็นชุดเล็ก ๆ หรือใช้สตรีมช่วยจัดการข้อมูลขนาดใหญ่ได้ดี + +**ถาม: GroupDocs.Search มีให้ใช้ฟรีสำหรับการพัฒนาหรือไม่?** +ตอบ: มีรุ่นทดลองใช้งานฟรี, แต่ต้องซื้อไลเซนส์สำหรับการใช้งานในโปรดักชัน + +**ถาม: สามารถใช้วิธีนี้กับไฟล์ประเภทอื่น (เช่น PDF, DOCX) ได้หรือไม่?** +ตอบ: แน่นอน. GroupDocs.Search รองรับหลายรูปแบบ; เพียงเพิ่มโฟลเดอร์ที่มีไฟล์เหล่านั้นลงในดัชนี + +## สรุป + +คุณมีโซลูชันที่พร้อมใช้งานในระดับโปรดักชันสำหรับ **clean directory java** พร้อมกับการเพิ่มเอกสารลงในดัชนีที่ค้นหาได้, การเปลี่ยนชื่อไฟล์, และการทำให้ทุกอย่างสอดคล้องกันด้วย GroupDocs.Search นำรูปแบบเหล่านี้ไปใช้เพื่ออัตโนมัติการจัดการเอกสารของคุณและเพลิดเพลินกับประสบการณ์การค้นหาที่เร็วและเชื่อถือได้มากขึ้น + +--- + +**อัปเดตล่าสุด:** 2025-12-29 +**ทดสอบกับ:** GroupDocs.Search 25.4 +**ผู้เขียน:** GroupDocs + +--- \ No newline at end of file diff --git a/content/thai/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/thai/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..5995d54e --- /dev/null +++ b/content/thai/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: เรียนรู้วิธีจัดการรหัสผ่านเอกสารใน Java ด้วย GroupDocs.Search, สร้างดัชนีที่ค้นหาได้, + และค้นหาอย่างมีประสิทธิภาพในหลายเอกสาร. +keywords: +- manage document passwords java +- search across multiple documents +title: จัดการรหัสผ่านเอกสารใน Java ด้วย GroupDocs.Search +type: docs +url: /th/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# จัดการรหัสผ่านเอกสาร Java ด้วย GroupDocs.Search + +ในแอปพลิเคชันระดับองค์กรสมัยใหม่ **manage document passwords Java** เป็นขั้นตอนสำคัญเพื่อรักษาไฟล์ที่มีความอ่อนไหวให้ปลอดภัยพร้อมยังคงให้การค้นหาที่รวดเร็วและเชื่อถือได้ ในคู่มือนี้เราจะอธิบายวิธีสร้างและจัดการดัชนีด้วย GroupDocs.Search, เก็บรหัสผ่านอย่างปลอดภัยในพจนานุกรมของดัชนี, แล้ว **search across multiple documents** อย่างง่ายดาย ไม่ว่าคุณจะกำลังสร้างระบบจัดการเอกสารหรือเพิ่มฟีเจอร์การค้นหาให้กับแอป Java ที่มีอยู่ ขั้นตอนต่อไปนี้จะช่วยให้คุณเริ่มต้นได้อย่างรวดเร็ว + +## คำตอบสั้น +- **“manage document passwords Java” หมายถึงอะไร?** หมายถึงการเก็บและดึงรหัสผ่านสำหรับไฟล์ที่ถูกป้องกันโดยตรงในดัชนีการค้นหา +- **ฉันสามารถทำดัชนีไฟล์ที่มีรหัสผ่านได้หรือไม่?** ได้ — เพิ่มรหัสผ่านลงในพจนานุกรมของดัชนีก่อนทำดัชนี +- **ฉันสามารถค้นหาเอกสารได้กี่ไฟล์พร้อมกัน?** GroupDocs.Search สามารถ **search across multiple documents** ในคำค้นเดียวได้ +- **ต้องใช้ไลเซนส์สำหรับการใช้งานในโปรดักชันหรือไม่?** ต้องมีไลเซนส์สำหรับการใช้งานในโปรดักชัน; มีเวอร์ชันทดลองฟรีสำหรับการประเมินผล +- **ต้องใช้ Java เวอร์ชันใด?** JDK 8 หรือสูงกว่า + +## “manage document passwords Java” คืออะไร? +การเก็บรหัสผ่านเอกสารไว้ในดัชนีการค้นหาช่วยให้เอนจินเปิดไฟล์ที่ถูกป้องกันโดยอัตโนมัติระหว่างการทำดัชนีและการค้นหา ทำให้ไม่ต้องป้อนรหัสผ่านด้วยตนเองทุกครั้ง + +## ทำไมต้องใช้ GroupDocs.Search สำหรับงานนี้? +- **พจนานุกรมรหัสผ่านในตัว** – เก็บรหัสผ่านเชื่อมโยงกับเส้นทางไฟล์ +- **การทำดัชนีประสิทธิภาพสูง** – จัดการไฟล์จำนวนหลายพันไฟล์ได้อย่างรวดเร็ว +- **ภาษาคำค้นที่หลากหลาย** – รองรับการค้นหาซับซ้อนในหลายประเภทเอกสาร + +## ข้อกำหนดเบื้องต้น +- **JDK 8+** ติดตั้งแล้ว +- **Maven** สำหรับจัดการ dependencies +- ความรู้พื้นฐานด้าน Java (การจัดการไฟล์, คลาส) + +## การตั้งค่า GroupDocs.Search สำหรับ Java + +เพิ่ม repository และ dependency ลงในไฟล์ `pom.xml` ของคุณ: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +คุณยังสามารถดาวน์โหลดไลบรารีโดยตรงจากหน้า release อย่างเป็นทางการได้ที่: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) + +### เริ่มต้นดัชนี + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## วิธีจัดการรหัสผ่านเอกสาร Java? + +### 1. กำหนดโฟลเดอร์ดัชนีและสร้างดัชนี +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. ลบรหัสผ่านที่มีอยู่ (ถ้ามี) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. เพิ่มรหัสผ่านสำหรับเอกสารเฉพาะ +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. ดึงและลบรหัสผ่าน +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. เพิ่มรหัสผ่านให้หลายเอกสาร +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## วิธีทำดัชนีเอกสารที่มีรหัสผ่าน? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## วิธีค้นหาในหลายเอกสารพร้อมกัน? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## การประยุกต์ใช้งานจริง +- **Enterprise Document Management** – คลังเอกสารที่ปลอดภัยและค้นหาได้ +- **Content Management Platforms** – การดึงข้อมูลสินทรัพย์ที่ป้องกันอย่างรวดเร็ว +- **Legal Document Repositories** – รักษาความลับพร้อมเปิดใช้งานการค้นหาแบบเต็มข้อความ + +## พิจารณาด้านประสิทธิภาพ +- **Parallel Indexing** – ใช้หลายเธรดสำหรับชุดข้อมูลขนาดใหญ่ +- **Memory Monitoring** – ตรวจสอบ heap ของ JVM ระหว่างการนำเข้าจำนวนมาก +- **Regular Index Maintenance** – ทำการ re‑index เมื่อไฟล์มีการเปลี่ยนแปลงหรือรหัสผ่านอัปเดต + +## สรุป +คุณได้เรียนรู้วิธี **manage document passwords Java** ด้วย GroupDocs.Search, สร้างดัชนีที่แข็งแรง, และทำ **search across multiple documents** อย่างมีประสิทธิภาพแล้ว การนำขั้นตอนเหล่านี้เข้าไปในแอปพลิเคชันของคุณจะช่วยให้ผู้ใช้ได้รับประสบการณ์การค้นหาที่ปลอดภัย, รวดเร็ว, และขยายตัวได้ + +**ขั้นตอนต่อไป** +- ทดลองใช้ตัวดำเนินการค้นขั้นสูง (wildcards, fuzzy search) +- สำรวจการทำดัชนีแบบ incremental สำหรับการอัปเดตแบบเรียลไทม์ +- ผสานกับผลิตภัณฑ์ GroupDocs อื่น ๆ สำหรับการแปลง PDF หรือการใส่คำอธิบาย + +## คำถามที่พบบ่อย + +**Q: ฉันสามารถทำดัชนีเอกสารจำนวนมากได้หรือไม่?** +A: ได้, GroupDocs.Search ถูกออกแบบมาเพื่อจัดการคอลเลกชันขนาดใหญ่ได้อย่างมีประสิทธิภาพ + +**Q: สามารถอัปเดตดัชนีที่มีอยู่ด้วยเอกสารใหม่ได้หรือไม่?** +A: แน่นอน! คุณสามารถเพิ่มหรือเอาเอกสารออกจากดัชนีตามต้องการ + +**Q: จะทำอย่างไรให้ข้อมูลที่ทำดัชนีมีความปลอดภัย?** +A: ใช้ document‑password dictionary และเก็บดัชนีไว้ในไดเรกทอรีที่ได้รับการป้องกัน + +**Q: GroupDocs.Search รองรับรูปแบบไฟล์ต่าง ๆ หรือไม่?** +A: รองรับ PDF, ไฟล์ Word, แผ่น Excel, และรูปแบบทั่วไปอื่น ๆ มากมาย + +**Q: หากพบปัญหาด้านประสิทธิภาพระหว่างทำดัชนีควรทำอย่างไร?** +A: พิจารณาเปิดใช้งานการประมวลผลแบบขนาน, เพิ่มขนาด heap, หรือปรับแต่งการตั้งค่าดัชนี + +--- + +**อัปเดตล่าสุด:** 2025-12-29 +**ทดสอบกับ:** GroupDocs.Search 25.4 for Java +**ผู้เขียน:** GroupDocs + +**แหล่งข้อมูล** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/thai/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/thai/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..c9f48361 --- /dev/null +++ b/content/thai/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,237 @@ +--- +date: '2025-12-29' +description: เรียนรู้วิธีทำดัชนีเอกสาร Java และสร้างดัชนีการค้นหาด้วย GroupDocs.Search + สำหรับ Java คู่มือนี้ครอบคลุมการตั้งค่า การทำดัชนี การค้นหา และการจัดการเอกสารอย่างมีประสิทธิภาพ +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: วิธีทำดัชนีเอกสาร Java ด้วย GroupDocs.Search – การค้นหาที่มีประสิทธิภาพ +type: docs +url: /th/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# วิธีทำดัชนีเอกสาร Java ด้วย GroupDocs.Search – การค้นหาที่มีประสิทธิภาพ + +## บทนำ + +คุณรู้สึกท่วมท้นกับเอกสารจำนวนมากและสงสัย **how to index java** อย่างรวดเร็วหรือไม่? ธุรกิจและบุคคลหลายแห่งต้องเผชิญกับความท้าทายนี้ทุกวัน **GroupDocs.Search for Java** นำเสนอวิธีแก้ที่มีประสิทธิภาพเพื่อทำให้การค้นหาเอกสารเป็นระเบียบ ทำให้กระบวนการเร็วขึ้นและจัดการได้ง่ายขึ้น + +ในบทแนะนำนี้ เราจะพาคุณผ่านการใช้ GroupDocs.Search for Java เพื่อสร้างคลังเอกสารที่ทำดัชนี คุณจะได้เรียนรู้วิธีโหลดเอกสารจากระบบไฟล์, ทำการค้นหา, จัดการการลบ, และดึงข้อมูลที่ทำดัชนีอย่างมีประสิทธิภาพและขยายได้ + +**สิ่งที่คุณจะได้เรียนรู้:** +- การตั้งค่าและกำหนดค่า GroupDocs.Search for Java +- **การสร้างดัชนีการค้นหา** และทำดัชนีเอกสารจากสตรีม +- การโหลดเอกสารจากระบบไฟล์ +- **การทำการค้นหาคำหลัก** บนดัชนีของคุณ +- **วิธีลบดัชนี** ของเอกสารเฉพาะ +- การดึงเอกสารที่ทำดัชนีหลังการลบ + +พร้อมที่จะปฏิวัติวิธีการจัดการการค้นหาเอกสารของคุณหรือยัง? มาเริ่มต้นด้วยข้อกำหนดเบื้องต้นกัน! + +## คำตอบอย่างรวดเร็ว +- **วัตถุประสงค์หลักคืออะไร?** ทำดัชนีและค้นหาเอกสาร Java อย่างมีประสิทธิภาพ +- **ไลบรารีที่ต้องการคืออะไร?** GroupDocs.Search for Java (v25.4+) +- **ฉันต้องการไลเซนส์หรือไม่?** มีการทดลองใช้ฟรีหรือไลเซนส์ชั่วคราว; ต้องมีไลเซนส์ถาวรสำหรับการใช้งานจริง +- **ฉันสามารถลบเอกสารจากดัชนีได้หรือไม่?** ใช่, โดยใช้เมธอด `delete` พร้อมคีย์เอกสาร +- **Apache Commons IO จำเป็นหรือไม่?** แนะนำให้ใช้สำหรับยูทิลิตี้การจัดการไฟล์ + +## “how to index java” คืออะไร? +การทำดัชนีเอกสาร Java หมายถึงการสร้างโครงสร้างข้อมูลที่สามารถค้นหาได้ (ดัชนี) ที่เชื่อมโยงเนื้อหาเอกสารกับคำที่สามารถค้นหาได้ ทำให้สามารถดึงไฟล์ที่เกี่ยวข้องอย่างรวดเร็วตามคำค้นหา + +## ทำไมต้องใช้ GroupDocs.Search for Java? +- **ความเร็ว:** อัลกอริทึมที่ปรับแต่งให้ทำงานเร็วให้ผลลัพธ์การค้นหาอย่างรวดเร็วแม้ในคอลเลกชันขนาดใหญ่ +- **ความสามารถขยาย:** จัดการเอกสารหลายพันไฟล์โดยไม่ลดประสิทธิภาพ +- **ความยืดหยุ่น:** รองรับรูปแบบไฟล์หลายประเภทและให้การโหลดแบบ lazy สำหรับไฟล์ขนาดใหญ่ +- **ความง่ายในการรวมระบบ:** การตั้งค่า Maven ที่ง่ายและ API ที่ตรงไปตรงมา + +## ข้อกำหนดเบื้องต้น +ก่อนที่เราจะเริ่ม, โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้: + +### ไลบรารีและการพึ่งพาที่จำเป็น +- **GroupDocs.Search for Java**: ตรวจสอบให้แน่ใจว่าติดตั้งเวอร์ชัน 25.4 หรือใหม่กว่า +- **Apache Commons IO**: จำเป็นสำหรับยูทิลิตี้การจัดการไฟล์ + +### ข้อกำหนดการตั้งค่าสภาพแวดล้อม +- Java Development Kit (JDK) 8 หรือสูงกว่า +- Integrated Development Environment (IDE) เช่น IntelliJ IDEA หรือ Eclipse + +### ความรู้เบื้องต้นที่ต้องมี +- ความเข้าใจพื้นฐานของการเขียนโปรแกรม Java และแนวคิดเชิงวัตถุ +- ความคุ้นเคยกับ Maven สำหรับการจัดการการพึ่งพาเป็นประโยชน์แต่ไม่จำเป็น + +## การตั้งค่า GroupDocs.Search for Java +การตั้งค่าสภาพแวดล้อมโปรเจกต์ของคุณด้วย GroupDocs.Search ทำได้ตามขั้นตอนต่อไปนี้โดยใช้ Maven: + +**การกำหนดค่า Maven:** +เพิ่ม repository และ dependency ต่อไปนี้ในไฟล์ `pom.xml` ของคุณ: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**ดาวน์โหลดโดยตรง:** +หากต้องการ คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดโดยตรงจาก [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### ขั้นตอนการรับไลเซนส์ +- **ทดลองใช้ฟรี:** เริ่มต้นด้วยการทดลองใช้ฟรีเพื่อทดสอบความสามารถ +- **ไลเซนส์ชั่วคราว:** ขอรับไลเซนส์ชั่วคราวเพื่อสำรวจคุณสมบัติทั้งหมดโดยไม่มีข้อจำกัด +- **ซื้อ:** พิจารณาซื้อหากตรงกับความต้องการของคุณ + +**การเริ่มต้นและตั้งค่าพื้นฐาน:** + +เมื่อสภาพแวดล้อมพร้อมแล้ว ให้เริ่มต้น GroupDocs.Search ดังนี้: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## วิธีทำดัชนีเอกสาร Java ด้วย GroupDocs.Search + +### การสร้างและทำดัชนีเอกสาร +**ภาพรวม:** เรียนรู้วิธีสร้างดัชนีในโฟลเดอร์ที่ระบุและเพิ่มเอกสารจากสตรีม ทำให้กระบวนการ **create search index** มีประสิทธิภาพ + +#### ขั้นตอนที่ 1: สร้างดัชนี +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **พารามิเตอร์:** พารามิเตอร์แรกคือเส้นทางโฟลเดอร์สำหรับเก็บดัชนี พารามิเตอร์บูลีนที่สองเปิดใช้งานการอัปเดตอัตโนมัติของดัชนีหากมีอยู่แล้ว + +#### ขั้นตอนที่ 2: โหลดและเพิ่มเอกสารจากสตรีม +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **คำอธิบาย:** ที่นี่คุณสร้าง `DocumentLoader` เพื่ออ่านไฟล์และเตรียมสำหรับทำดัชนี เมธอด `createLazy` ถูกใช้เพื่อจัดการไฟล์ขนาดใหญ่อย่างมีประสิทธิภาพ + +### การโหลดเอกสารจากระบบไฟล์ +**ภาพรวม:** สร้างตัวโหลดแบบกำหนดเองที่อ่านเอกสารโดยตรงจากระบบไฟล์ของคุณโดยใช้ยูทิลิตี้ Apache Commons IO + +#### ขั้นตอนที่ 1: กำหนด Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **รายละเอียด:** คลาสนี้อ่านไฟล์เป็นอาร์เรย์ของไบต์และสร้างอ็อบเจ็กต์ `Document` จากนั้น + +### การทำการค้นหาคำหลักในดัชนี +**ภาพรวม:** ดำเนินการค้นหาบนเอกสารที่ทำดัชนีของคุณเพื่อดึงข้อมูลที่เกี่ยวข้องอย่างรวดเร็ว + +#### ขั้นตอนที่ 1: ดำเนินการค้นหา +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **คำอธิบาย:** ใช้เมธอด `search` พร้อมคำค้นข้อความง่ายเพื่อรับผลลัพธ์จากข้อมูลที่ทำดัชนี วิธีนี้มีประสิทธิภาพสำหรับสถานการณ์ **java document search** + +### วิธีลบรายการดัชนี +**ภาพรวม:** จัดการดัชนีของคุณโดยลบเอกสารเฉพาะโดยใช้คีย์ของพวกมัน + +#### ขั้นตอนที่ 1: ลบเอกสาร +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **พารามิเตอร์:** ส่งอาร์เรย์ของคีย์เอกสารที่ต้องการลบออกจากดัชนี `UpdateOptions` ให้กลยุทธ์การลบที่ยืดหยุ่น + +### การดึงเอกสารที่ทำดัชนีหลังการลบ +**ภาพรวม:** หลังจากลบเอกสาร, ดึงรายการไฟล์ที่ยังคงทำดัชนีอยู่เพื่อยืนยันความสมบูรณ์ของข้อมูล + +#### ขั้นตอนที่ 1: รับเอกสารที่เหลืออยู่ +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **คำอธิบาย:** ขั้นตอนนี้ช่วยตรวจสอบสถานะปัจจุบันของดัชนีของคุณหลังการลบใด ๆ + +## การประยุกต์ใช้งานจริง +GroupDocs.Search for Java มีความหลากหลาย สามารถนำไปใช้ในกรณีต่าง ๆ เช่น + +1. **การจัดการเอกสารระดับองค์กร:** ค้นหาเอกสารบริษัทอย่างรวดเร็วเพื่อเพิ่มประสิทธิภาพการทำงาน +2. **การวิเคราะห์เอกสารกฎหมาย:** คัดกรองไฟล์คดีและข้อความกฎหมายอย่างมีประสิทธิภาพเพื่อค้นหาตัวอย่างที่เกี่ยวข้อง +3. **ระบบจัดทำรายการห้องสมุด:** ทำดัชนีและจัดการคอลเลกชันหนังสือและต้นฉบับจำนวนมากเพื่อการเข้าถึงที่ง่ายขึ้น + +## ข้อพิจารณาด้านประสิทธิภาพ +เพื่อให้ได้ประสิทธิภาพสูงสุด: + +- **การปรับแต่งดัชนี:** อัปเดตดัชนีเป็นประจำเพื่อสะท้อนการเปลี่ยนแปลงล่าสุดของเอกสาร +- **การจัดการหน่วยความจำ:** ใช้การเก็บกวาดหน่วยความจำของ Java อย่างมีประสิทธิภาพโดยจัดการการดำเนินการที่ใช้ทรัพยากรหนัก +- **ความสามารถขยาย:** ตรวจสอบให้แน่ใจว่ากลยุทธ์การทำดัชนีของคุณสามารถจัดการกับปริมาณข้อมูลขนาดใหญ่โดยไม่ลดประสิทธิภาพ + +## ปัญหาทั่วไปและวิธีแก้ +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|-------|----------| +| **ไม่มีผลลัพธ์คืนค่า** | คำค้นไม่ได้ทำดัชนีหรือถูกกรองเป็น stop‑words | ตรวจสอบ `IndexingOptions` และปรับรายการ stop‑words | +| **ข้อผิดพลาดหน่วยความจำเต็ม** | โหลดไฟล์ขนาดใหญ่มากโดยไม่มีการ lazy loading | ใช้ `Document.createLazy` หรือเพิ่มขนาด heap ของ JVM | +| **เอกสารถูกลบยังปรากฏ** | ดัชนีไม่ได้รีเฟรชหลังการลบ | เรียก `index.optimize()` หรือเปิดดัชนีใหม่ | + +## คำถามที่พบบ่อย +**Q: ฉันสามารถทำดัชนีไฟล์ PDF, DOCX, และ PPTX พร้อมกันได้หรือไม่?** +A: ใช่, GroupDocs.Search รองรับรูปแบบไฟล์หลากหลายโดยอัตโนมัติ + +**Q: “how to delete index” ทำงานอย่างไรภายใน?** +A: เมธอด `delete` จะลบรายการตามคีย์เอกสารและอัปเดตรายการโพสต์ภายในเพื่อให้ดัชนีสอดคล้องกัน + +**Q: มีวิธีตรวจสอบขนาดดัชนีหรือไม่?** +A: ใช้ `index.getStatistics()` เพื่อรับข้อมูลจำนวนเอกสารและขนาดการจัดเก็บ + +**Q: ฉันต้องสร้างดัชนีใหม่ทั้งหมดหลังการลบแต่ละครั้งหรือไม่?** +A: ไม่, การดำเนินการ `delete` จะอัปเดตดัชนีแบบเพิ่มส่วน ทำให้ข้อมูลเดิมคงอยู่ + +**Q: ถ้าฉันต้องทำดัชนีใหม่ทั้งหมดหลังการเปลี่ยนแปลงสคีม่า จะทำอย่างไร?** +A: สร้างอินสแตนซ์ `Index` ใหม่ด้วยเส้นทางโฟลเดอร์ที่ต่างกันและเพิ่มเอกสารทั้งหมดใหม่ + +## สรุป +โดยตอนนี้คุณควรมีความเข้าใจที่มั่นคงเกี่ยวกับ **how to index java** เอกสารและการทำการค้นหาอย่างรวดเร็วด้วย GroupDocs.Search for Java ไลบรารีที่ทรงพลังนี้สามารถเปลี่ยนวิธีการจัดการและดึงข้อมูลจากคอลเลกชันเอกสารขนาดใหญ่ ทำให้เป็นเครื่องมือที่มีคุณค่าสำหรับองค์กรใด ๆ + +**ขั้นตอนต่อไป:** +- ทดลองกับประเภทเอกสารต่าง ๆ และคำค้นที่ซับซ้อน +- สำรวจคุณลักษณะขั้นสูงเช่นการค้นหาแบบ faceted, การทำดัชนีเมตาดาต้า, และตัววิเคราะห์แบบกำหนดเอง + +พร้อมที่จะเริ่มการเดินทางทำดัชนีของคุณหรือยัง? นำเทคนิคเหล่านี้ไปใช้วันนี้และสัมผัสการดึงข้อมูลเอกสารที่เร็วและแม่นยำยิ่งขึ้น! + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search Java 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/thai/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/thai/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..d5c17ab4 --- /dev/null +++ b/content/thai/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: เรียนรู้วิธีเพิ่มประสิทธิภาพการค้นหาโดยใช้คุณสมบัติการทำดัชนีขั้นสูงของ + GroupDocs.Search สำหรับ Java รวมถึงการยกเลิก, การทำงานแบบอะซิงโครนัส, การทำงานหลายเธรด, + และการปรับแต่งเมตาดาต้า. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: เพิ่มประสิทธิภาพการค้นหาด้วยเทคนิคการทำดัชนีขั้นสูงใน GroupDocs.Search สำหรับ + Java +type: docs +url: /th/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# ปรับประสิทธิภาพการค้นหาด้วยเทคนิคการทำดัชนีขั้นสูงใน GroupDocs.Search สำหรับ Java + +ในสภาพแวดล้อมดิจิทัลที่เร็วเปรี้ยงพร่าในวันนี้, **optimizing search performance** มีความสำคัญต่อการให้ผลลัพธ์ทันทีแก่ผู้ใช้ ไม่ว่าคุณจะกำลังสร้างเครื่องมือค้นหาแบบกำหนดเองหรือปรับปรุงระบบจัดการเอกสารที่มีอยู่ กลยุทธ์การทำดัชนีที่เหมาะสมสามารถลดความหน่วงและการใช้ทรัพยากรได้อย่างมาก ในบทแนะนำนี้เราจะพาคุณไปสำรวจคุณลักษณะที่ทรงพลังที่สุดของ GroupDocs.Search สำหรับ Java—cancellation, asynchronous indexing, multi‑threading, และ metadata customization—เพื่อให้คุณสามารถ **add documents index** ได้เร็วและมีประสิทธิภาพมากขึ้น. + +**What You’ll Learn** + +- วิธียกเลิกการทำดัชนีหลังจากระยะเวลาที่กำหนด +- การทำดัชนีแบบอะซิงโครนัสและจัดการการเปลี่ยนแปลงสถานะ +- การกำหนดค่า multi‑threading เพื่อเร่งความเร็วการทำดัชนี +- การปรับแต่งตัวเลือกการทำดัชนีเมตาดาต้า + +ให้แน่ใจว่าคุณมีทุกอย่างที่ต้องการก่อนที่เราจะลงลึกในโค้ด + +## Prerequisites + +- **GroupDocs.Search Library** – เวอร์ชัน 25.4 หรือใหม่กว่า +- **Java Development Environment** – แนะนำให้ใช้ JDK 8 หรือสูงกว่า +- ความคุ้นเคยพื้นฐานกับ Java และแนวคิดการทำดัชนี + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +Add the repository and dependency to your `pom.xml` file: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +Alternatively, download the latest JAR from [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**License Acquisition** – เริ่มต้นด้วยการทดลองใช้ฟรีหรือขอรับใบอนุญาตชั่วคราวเพื่อเปิดใช้งานคุณสมบัติทั้งหมด + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **What does cancellation do?** หยุดการทำดัชนีหลังจากเวลาที่กำหนดเพื่อปลดปล่อยทรัพยากร +- **Can I index documents asynchronously?** ใช่ – ตั้งค่า `options.setAsync(true)` +- **How many threads can I use?** จำนวนเต็มบวกใดก็ได้; ค่าที่นิยมใช้คือ 2‑4 สำหรับเซิร์ฟเวอร์ส่วนใหญ่ +- **Is metadata indexing optional?** แน่นอน – คุณสามารถเปิดหรือปรับจูนตามฟิลด์ได้ +- **Do I need a license for these features?** การทดลองใช้ทำงานได้สำหรับการทดสอบ; ต้องมีใบอนุญาตเต็มสำหรับการใช้งานจริง + +## What Is “Optimize Search Performance” in This Context? + +การปรับประสิทธิภาพการค้นหาหมายถึงการกำหนดค่ากระบวนการทำดัชนีให้ใช้ CPU, หน่วยความจำ, และเวลาในระดับที่เหมาะสมพร้อมกับให้ผลลัพธ์ที่เกี่ยวข้องที่สุดโดยทันที การควบคุม cancellation, การทำงานแบบ async, การใช้ threading, และการจัดการเมตาดาต้าช่วยให้คุณมีอิทธิพลโดยตรงต่อความเร็วที่ engine สามารถ **add documents index** และตอบสนองต่อคำค้นได้ + +## Why Use Advanced Indexing Features? + +- **Reduced latency** – การทำดัชนีแบบอะซิงโครนัสและมัลติ‑เธรดทำให้แอปพลิเคชันของคุณตอบสนองได้ดีขึ้น +- **Better resource management** – Cancellation ป้องกันกระบวนการที่ใช้ทรัพยากรเกินจำเป็น +- **Tailored search relevance** – ตัวเลือกเมตาดาต้าช่วยให้คุณแสดงข้อมูลสำคัญที่สุดออกมา + +## Implementation Guide + +### Cancellation Property + +**Overview** – ยกเลิกการทำดัชนีหลังจากระยะเวลาที่กำหนดเพื่อหลีกเลี่ยงการใช้ทรัพยากรเกินขอบเขต + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` เปิดใช้งานฟีเจอร์นี้ +- `cancelAfter(int milliseconds)` กำหนดเวลา timeout (3 seconds ในตัวอย่างนี้) + +### Asynchronous Property + +**Overview** – ทำการทำดัชนีบนเธรดพื้นหลังและฟังการเปลี่ยนแปลงสถานะ + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Overview** – เร่งความเร็วการทำดัชนีโดยใช้หลายคอร์ของ CPU + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Overview** – ปรับจูนว่าเมตาดาต้าเอกสารใดบ้างที่จะทำดัชนีและวิธีการจัดเก็บ + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **Document Management Systems** – ใช้การทำดัชนีแบบอะซิงโครนัสเพื่อให้ UI ตอบสนองได้ดีขณะประมวลผลชุดข้อมูลขนาดใหญ่ในพื้นหลัง +2. **Content Search Engines** – ใช้ cancellation เพื่อป้องกันงานที่ใช้เวลานานเกินไปจากการกินทรัพยากรเซิร์ฟเวอร์ในช่วงเวลาที่มีการใช้งานสูงสุด +3. **Large‑Scale Ingestion Pipelines** – ใช้มัลติ‑เธรดเพื่อ **add documents index** ในระดับใหญ่ ลดเวลาการประมวลผลอย่างมีนัยสำคัญ + +## Performance Considerations + +- **Thread Management** – ตรวจสอบการใช้ CPU; จำนวนเธรดมากเกินไปอาจทำให้เกิด overhead จากการสลับคอนเท็กซ์ +- **Memory Footprint** – ขีดจำกัดเมตาดาต้า (เช่น `setMaxBytesToIndexField`) ช่วยให้การใช้หน่วยความจำคาดการณ์ได้ +- **Garbage Collection** – ใช้แฟล็ก JVM ที่เหมาะสม (`-Xmx`, `-XX:+UseG1GC`) เมื่อทำดัชนีข้อมูลขนาดมหาศาล + +## Common Issues and Solutions + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Indexing never finishes | Cancellation set too low | Increase `cancelAfter` value or remove cancellation for long jobs | +| No status updates in async mode | Event handler not attached correctly | Ensure `index.getEvents().StatusChanged.add(...)` is called before `index.add` | +| Out‑of‑memory errors | Too many threads or high metadata limits | Reduce `options.setThreads` and lower metadata field limits | +| Missing metadata in results | Metadata indexing disabled | Verify `options.getMetadataIndexingOptions()` is configured and not set to ignore fields | + +## Frequently Asked Questions + +**Q: How do I obtain a temporary license for GroupDocs.Search?** +A: Visit [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q: Can I cancel an indexing operation midway through?** +A: Yes – use the cancellation property with `cancelAfter()` or call `Cancellation.cancel()` programmatically. + +**Q: What are some use cases for asynchronous indexing?** +A: Real‑time document retrieval, background batch processing, and UI‑responsive applications benefit from async indexing. + +**Q: Is it safe to increase the thread count on a shared server?** +A: Increase gradually and monitor CPU load; on heavily shared environments, keep the thread count modest (2‑4). + +**Q: How does metadata indexing affect search relevance?** +A: Properly indexed metadata (author, creation date, tags) can be weighted higher in queries, improving result accuracy. + +## Conclusion + +By embracing these advanced features of GroupDocs.Search for Java, you’ll **optimize search performance** across a variety of scenarios—from rapid document ingestion to fine‑grained metadata control. Experiment with different configurations, monitor resource usage, and tailor the settings to your specific workload to get the best results. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/turkish/java/getting-started/_index.md b/content/turkish/java/getting-started/_index.md new file mode 100644 index 00000000..c2077111 --- /dev/null +++ b/content/turkish/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: 'Java geliştiricileri için GroupDocs.Search''ü yapılandırma adım adım + rehberi: kurulum, lisanslama ve ilk arama çözümünüzü oluşturma.' +title: 'GroupDocs.Search Nasıl Yapılandırılır - Java İçin Başlangıç Öğreticileri' +type: docs +url: /tr/java/getting-started/ +weight: 1 +--- + +# GroupDocs.Search'i Yapılandırma - Java için Başlangıç Öğreticileri + +Java uygulamaları için **GroupDocs.Search'i nasıl yapılandıracağınız** konusunda nihai rehbere hoş geldiniz. Bu öğreticide, kütüphaneyi kurma, lisanslamayı ayarlama ve ilk aranabilir belge çözümünüzü oluşturma adımlarını öğreneceksiniz. Yeni bir projeye başlıyor olun ya da aramayı mevcut bir kod tabanına entegre ediyor olun, bu rehber hızlı bir şekilde çalışmaya başlamanız için ihtiyacınız olan her şeyi sunar. + +## Hızlı Yanıtlar +- **İlk adım nedir?** Maven veya Gradle üzerinden GroupDocs.Search Java paketini kurun. +- **Lisans gerekir mi?** Evet—geliştirme için geçici bir lisans çalışır; üretim için tam lisans gereklidir. +- **Hangi IDE en iyisi?** Maven/Gradle projelerini destekleyen herhangi bir Java IDE (IntelliJ IDEA, Eclipse, VS Code). +- **PDF ve Word dosyalarını indeksleyebilir miyim?** Kesinlikle—GroupDocs.Search kutudan çıkar çıkmaz çok çeşitli belge formatlarını destekler. +- **Kurulum ne kadar sürer?** Yeni bir proje için genellikle 15 dakikadan az sürer. + +## “GroupDocs.Search'i nasıl yapılandırılır” nedir? +GroupDocs.Search'i yapılandırmak, kütüphaneyi belgeleri indeksleyecek şekilde hazırlamak, depolama konumlarını tanımlamak ve API'nin kısıtlamasız çalışabilmesi için lisans anahtarınızı uygulamak anlamına gelir. Doğru yapılandırma, hızlı ve doğru arama sonuçları sağlar ve Java kodunuzla sorunsuz entegrasyon sunar. + +## Java için GroupDocs.Search'i neden yapılandırmalısınız? +- **Hızlı uygulama** – İndeksleme ve aramaya başlamak için minimum kod gerekir. +- **Ölçeklenebilir indeksleme** – Performans kaybı olmadan büyük belge koleksiyonlarını yönetir. +- **Geniş format desteği** – PDF, DOCX, XLSX, PPTX ve birçok diğer dosya türüyle çalışır. +- **Güvenli lisanslama** – Uyumu garanti eder ve tüm premium özelliklerin kilidini açar. + +## Önkoşullar +- Java Development Kit (JDK) 8 ve üzeri. +- Bağımlılık yönetimi için Maven 3 veya Gradle 5. +- Geçici veya tam bir GroupDocs.Search lisans anahtarına erişim. + +## Adım‑Adım Kılavuz + +### Adım 1: GroupDocs.Search'i Projenize Ekleyin +`pom.xml` (Maven) veya `build.gradle` (Gradle) dosyanıza GroupDocs.Search bağımlılığını ekleyin. Bu, kütüphaneyi kodunuz için kullanılabilir hale getirir. + +### Adım 2: Lisansınızı Uygulayın +Bir `License` nesnesi oluşturun ve geçici ya da kalıcı lisans dosyanızı yükleyin. Bu adım tam işlevselliğin kilidini açar ve değerlendirme sınırlamalarını kaldırır. + +### Adım 3: İndeks Ayarlarını Başlatın +İndeks dosyalarının diskte nerede saklanacağını tanımlayın ve ihtiyacınız olan özel indeksleme seçeneklerini yapılandırın (ör. büyük/küçük harf duyarlılığı, durdurma kelimeleri). + +### Adım 4: Belgelerinizi İndeksleyin +`Indexer` sınıfını kullanarak dosyaları veya klasörleri indekse ekleyin. GroupDocs.Search dosya türlerini otomatik olarak algılar ve aranabilir metni çıkarır. + +### Adım 5: Bir Arama Sorgusu Gerçekleştirin +Bir `SearchOptions` nesnesi oluşturun, sorgu dizesini belirtin ve aramayı yürütün. API, ilgili puanlarla eşleşen belgelerin bir listesini döndürür. + +### Adım 6: Sonuçları İnceleyin +Arama sonuçları üzerinde döngü kurun, dosya adlarını gösterin ve isteğe bağlı olarak UI'da eşleşen terimleri vurgulayın. + +## Yaygın Sorunlar ve Çözümleri +- **Lisans tanınmıyor** – Lisans dosyası yolunu doğrulayın ve kullandığınız GroupDocs.Search sürümüyle eşleştiğinden emin olun. +- **Eksik belge formatları** – Daha az yaygın dosya türleri için destek gerekiyorsa isteğe bağlı `groupdocs-conversion` eklentisini kurun. +- **Performans darboğazları** – Artımlı indeksleme kullanın ve daha hızlı erişim için indeks klasörünü SSD depolama üzerinde yapılandırın. + +## Sıkça Sorulan Sorular + +**Q: Linux sunucusunda GroupDocs.Search kullanabilir miyim?** +A: Evet, kütüphane platform bağımsızdır ve Java'yı destekleyen herhangi bir işletim sisteminde çalışır. + +**Q: Yeni dosyalar ekledikten sonra indeksi nasıl güncellerim?** +A: Yeni dosyalarla `Indexer`'ı tekrar çağırın; kütüphane bunları mevcut indekse birleştirir. + +**Q: Arama sonuçlarını belirli bir klasörle sınırlamanın bir yolu var mı?** +A: Evet, sorguyu yürütmeden önce `SearchOptions` içinde bir klasör filtresi ayarlayın. + +**Q: Geçici lisans süresini aşarsam ne olur?** +A: API, sınırlı özelliklerle değerlendirme modunda çalışmaya devam eder; tam işlevselliği geri getirmek için lisans dosyasını kalıcı bir anahtarla değiştirin. + +**Q: GroupDocs.Search bulanık aramayı destekliyor mu?** +A: Kesinlikle—küçük yazım farklılıklarıyla sonuçlar almak için `SearchOptions` içinde bulanık eşleşmeyi etkinleştirin. + +## Ek Kaynaklar + +### Mevcut Öğreticiler + +### [GroupDocs.Search'i Java için Dağıtın: Kapsamlı Kurulum Kılavuzu](./deploy-groupdocs-search-java-setup-guide/) +Bu adım‑adım kılavuzla GroupDocs.Search'i Java için nasıl dağıtıp yapılandıracağınızı öğrenin. Projelerinizde belge indeksleme ve arama yeteneklerini geliştirin. + +### Faydalı Bağlantılar +- [GroupDocs.Search for Java Dokümantasyonu](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Referansı](https://reference.groupdocs.com/search/java/) +- [GroupDocs.Search for Java İndir](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Ücretsiz Destek](https://forum.groupdocs.com/) +- [Geçici Lisans](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Son Güncelleme:** 2025-12-29 +**Test Edilen Sürüm:** GroupDocs.Search 23.12 for Java +**Yazar:** GroupDocs \ No newline at end of file diff --git a/content/turkish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/turkish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..bef6ce50 --- /dev/null +++ b/content/turkish/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,239 @@ +--- +date: '2025-12-29' +description: Java'da dizin temizleme, belge yönetimi otomasyonu ve dosya yeniden adlandırmayı + GroupDocs.Search for Java ile öğrenin. Uygulamalarınızda verimliliği artırın. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Dizin Temizleme Java – Dizinleme ve Yeniden Adlandırmayı Otomatikleştir +type: docs +url: /tr/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – GroupDocs.Search Kullanarak Belge Dizinleme ve Yeniden Adlandırmayı Otomatikleştirin + +## Hızlı Yanıtlar +- **“clean directory java” ne anlama geliyor?** Hedef dizin içindeki tüm dosya/klasörleri Java kodu kullanarak silmek. +- **Hangi kütüphane aranabilir indeks oluşturur?** GroupDocs.Search for Java. +- **Bir belgeyi nasıl yeniden adlandırır ve indeksin güncel kalmasını sağlarsınız?** `File.renameTo()` kullanın, ardından indeksi `Notification.createRenameNotification` ile bilgilendirin. +- **Klasörü temizledikten sonra dosyaları kopyalayabilir miyim?** Evet – Java Streams, indeksi koruyarak dosyaları kopyalayabilir. +- **Üretim ortamı için lisans gerekli mi?** Ticari kullanım için geçerli bir GroupDocs.Search lisansı gereklidir. + +## “clean directory java” nedir? +Java'da bir dizini temizlemek, belirli bir klasör içindeki tüm dosya ve alt‑klasörleri programlı olarak kaldırmak anlamına gelir. Bu, yeni dosyalar kopyalamadan veya bir indeksi yeniden oluşturmadan önce genellikle gerekli bir adımdır ve eski verilerin arama sonuçlarını etkilemesini önler. + +## Neden belge dizinleme ve yeniden adlandırmayı otomatikleştirmelisiniz? +- **Belge yönetimi otomasyonu** manuel çabayı azaltır ve insan hatasını ortadan kaldırır. +- Bir **aranabilir indeks oluşturma** adımı, herhangi bir belgeyi içeriğine göre anında bulmanızı sağlar. +- Dosyaları yeniden adlandırıp indeksi güncellemezseniz arama doğruluğu bozulur; otomasyon her şeyi tutarlı tutar. + +## Gereksinimler + +- **GroupDocs.Search for Java** (Sürüm 25.4 veya üzeri) +- JDK 8 + ve IntelliJ IDEA veya Eclipse gibi bir IDE +- Temel Java bilgisi, özellikle dosya I/O + +## GroupDocs.Search for Java Kurulumu + +### Maven Bağımlılığı +Depoyu ve bağımlılığı `pom.xml` dosyanıza ekleyin: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Doğrudan İndirme +Alternatif olarak, en son sürümü [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) adresinden indirin. + +### Lisans +Ücretsiz deneme, geçici değerlendirme lisansı edinin ya da üretim kullanımı için tam lisans satın alın. + +### Temel Başlatma +Aranabilir verileri tutacak bir `Index` örneği oluşturun: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Uygulama Kılavuzu + +### 1. Belgeleri İndexe Ekle (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Açıklama*: +- `indexFolder` – indeks dosyalarının saklandığı yer. +- `documentFolder` – aranabilir hâle getirmek istediğiniz dosyaları içeren kaynak klasör. + +### 2. Bir Belgeyi Yeniden Adlandır ve İndeksi Bildir + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Açıklama*: +- Java'nın `File.renameTo()` yöntemi fiziksel yeniden adlandırmayı gerçekleştirir. +- `Notification.createRenameNotification()` GroupDocs.Search'e dosya adının değiştiğini bildirir ve indeksin doğru kalmasını sağlar. + +## Clean Directory Java – Directory Cleaning and File Copying +Toplu kopyalama öncesinde bir klasörü düzenli tutmak, yinelenen veya sahipsiz dosyaların oluşmasını önler. Aşağıda iki yeniden kullanılabilir kod parçacığı bulunmaktadır. + +### Step 1: Delete Folder Contents (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Açıklama*: +- `Files.walk()` her dosya ve alt‑klasörü dolaşır. +- Ters sıralama, dosyaların üst klasörlerinden önce kaldırılmasını sağlar ve böylece **klasör içeriği silinir**. + +### Step 2: Copy Files (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Açıklama*: +- Akış yalnızca normal dosyaları filtreler, ardından her birini hedef dizine kopyalar; gerekirse mevcut dosyaların üzerine yazar. + +## Pratik Uygulamalar + +- **Kurumsal Belge Yönetimi** – Binlerce sözleşme için dizinlemeyi otomatikleştirin ve dosya adlarını senkronize tutun. +- **Hukuk Firmaları** – Aranabilir içeriği koruyarak dava dosyalarını hızlıca yeniden adlandırın. +- **İçerik Yönetim Sistemleri** – Manuel temizlik yapmadan medya klasörlerini yenilemek için clean‑directory desenini kullanın. + +## Performans Düşünceleri + +- **İndeks Boyutu** – İndeks büyükse periyodik olarak sıkıştırın. +- **Bellek Kullanımı** – `OutOfMemoryError` hatasından kaçınmak için dosyaları toplu işleyin. +- **Eşzamanlılık** – Toplu işlemler için temizleme ve kopyalamayı paralelleştirmek amacıyla Java'nın `ExecutorService`'ini düşünün. + +## Yaygın Sorunlar & İpuçları + +| Sorun | Neden | Çözüm | +|-------|-------|-----| +| Yeniden adlandırma başarısız | Dosya kilitli veya yol geçersiz | Dosyanın başka bir yerde açık olmadığından emin olun; daha güvenilir yeniden adlandırma için `Files.move` kullanın. | +| İndeks güncellenmiyor | Bildirim gönderilmedi | Her zaman `index.notifyIndex(notification)` çağırın ve ardından `index.update()` yapın. | +| Kopyalama sonrası eski arama sonuçları | İndeks hâlâ eski dosyalara işaret ediyor | Hedef klasörü indekse yeniden ekleyin veya kopyalamadan sonra `index.update()` çağırın. | + +## Sıkça Sorulan Sorular + +**S: Alt‑klasörler içeren bir dizini temizleyebilir miyim?** +C: Evet. `Files.walk()` yaklaşımı, tüm iç içe dosya ve klasörleri yinelemeli olarak siler. + +**S: Her yeniden adlandırmadan sonra tüm indeksi yeniden oluşturmalı mıyım?** +C: Hayır. Yeniden adlandırma bildirimi gönderip `index.update()` çağırmak yeterlidir. + +**S: Performans sınırına ulaşmadan ne kadar büyük bir klasörü temizleyebilirim?** +C: JVM belleğine bağlıdır; daha küçük partilerde işlemek veya akışları kullanmak büyük veri setlerini yönetmeye yardımcı olur. + +**S: GroupDocs.Search geliştirme için ücretsiz mi?** +C: Ücretsiz bir deneme mevcuttur, ancak üretim kullanımı için ücretli lisans gereklidir. + +**S: Bu yaklaşımı diğer dosya türleriyle (ör. PDF, DOCX) kullanabilir miyim?** +C: Kesinlikle. GroupDocs.Search birçok formatı destekler; sadece bu dosyaları içeren klasörü indekse ekleyin. + +## Sonuç +Artık **clean directory java** için tam, üretim‑hazır bir çözümünüz var; belgeleri aranabilir bir indekse ekleyebilir, dosyaları yeniden adlandırabilir ve her şeyi GroupDocs.Search ile senkronize tutabilirsiniz. Bu desenleri belge yönetim iş akışınızı otomatikleştirmek için uygulayın ve daha hızlı, daha güvenilir arama deneyimlerinin tadını çıkarın. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs \ No newline at end of file diff --git a/content/turkish/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/turkish/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..9350a39b --- /dev/null +++ b/content/turkish/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,170 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search ile Java’da belge şifrelerini nasıl yöneteceğinizi öğrenin, + aranabilir indeksler oluşturun ve birden fazla belge üzerinde verimli bir şekilde + arama yapın. +keywords: +- manage document passwords java +- search across multiple documents +title: GroupDocs.Search Kullanarak Java'da Belge Şifrelerini Yönetme +type: docs +url: /tr/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# GroupDocs.Search kullanarak Java'da Belge Parolalarını Yönetme + +Modern kurumsal uygulamalarda, **manage document passwords Java** hassas dosyaları güvenli tutmak ve aynı zamanda hızlı, güvenilir arama sağlamak için kritik bir adımdır. Bu rehberde, GroupDocs.Search ile indeksleri nasıl oluşturup yöneteceğinizi, parolaları indeks sözlüğünde güvenli bir şekilde saklayacağınızı ve ardından **search across multiple documents** kolayca nasıl yapacağınızı göstereceğiz. İster bir belge‑yönetim sistemi oluşturuyor olun, ister mevcut bir Java uygulamasına arama ekliyor olun, aşağıdaki adımlar sizi hızlıca çalışır hale getirecek. + +## Hızlı Yanıtlar +- **manage document passwords Java ne anlama geliyor?** Korunan dosyalar için parolaları doğrudan arama indeksinde depolama ve geri getirme anlamına gelir. +- **Şifre korumalı dosyaları indeksleyebilir miyim?** Evet—indekslemeden önce parolaları indeks sözlüğüne ekleyin. +- **Bir kerede kaç belgeyi arayabilirim?** GroupDocs.Search tek bir sorguda **search across multiple documents** yapabilir. +- **Üretim için lisansa ihtiyacım var mı?** Üretim kullanımında lisans gereklidir; değerlendirme için ücretsiz deneme mevcuttur. +- **Hangi Java sürümü gereklidir?** JDK 8 ve üzeri. + +## “manage document passwords Java” nedir? +Belge parolalarını arama indeksinin içinde saklamak, motorun indeksleme ve arama sırasında korumalı dosyaları otomatik olarak açmasını sağlar; böylece her seferinde manuel parola girme ihtiyacı ortadan kalkar. + +## Bu görev için neden GroupDocs.Search kullanılmalı? +- **Yerleşik parola sözlüğü** – parolaları dosya yollarına bağlayarak tutar. +- **Yüksek performanslı indeksleme** – binlerce dosyayı hızlıca işler. +- **Zengin sorgu dili** – birçok belge türü üzerinde karmaşık aramaları destekler. + +## Önkoşullar +- **JDK 8+** yüklü. +- **Maven** bağımlılık yönetimi için. +- Temel Java bilgisi (dosya işleme, sınıflar). + +## Java için GroupDocs.Search Kurulumu + +`pom.xml` dosyanıza depo ve bağımlılığı ekleyin: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Kütüphaneyi ayrıca resmi sürüm sayfasından doğrudan indirebilirsiniz: [GroupDocs.Search for Java sürümleri](https://releases.groupdocs.com/search/java/). + +### İndeksi Başlatma + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Java’da belge parolalarını nasıl yönetilir? + +### 1. İndeks Klasörünü Tanımlama ve İndeksi Oluşturma +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Mevcut Parolaları Temizleme (varsa) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Belirli Bir Belge İçin Parola Ekleme +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Parolayı Getirme ve Kaldırma +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Birden Çok Belgeye Parola Ekleme +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Parolalarla Belgeleri Nasıl İndekslenir? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Birden Çok Belge Üzerinde Nasıl Arama Yapılır? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Pratik Uygulamalar +- **Kurumsal Belge Yönetimi** – güvenli, aranabilir arşivler. +- **İçerik Yönetim Platformları** – korumalı varlıkların hızlı alınması. +- **Hukuki Belge Depoları** – gizliliği korurken tam metin aramayı mümkün kılar. + +## Performans Düşünceleri +- **Paralel İndeksleme** – büyük partiler için birden fazla iş parçacığı kullanın. +- **Bellek İzleme** – büyük içe aktarmalar sırasında JVM yığınını izleyin. +- **Düzenli İndeks Bakımı** – dosyalar değiştiğinde veya parolalar güncellendiğinde yeniden indeksleyin. + +## Sonuç +Artık GroupDocs.Search ile **manage document passwords Java** nasıl yapılır, sağlam indeksler oluşturulur ve güçlü **search across multiple documents** nasıl gerçekleştirilir biliyorsunuz. Bu adımları uygulamanıza entegre ederek güvenli, hızlı ve ölçeklenebilir arama deneyimleri sunacaksınız. + +**Sonraki Adımlar** +- Gelişmiş sorgu operatörlerini deneyin (joker karakterler, bulanık arama). +- Gerçek zamanlı güncellemeler için artımlı indekslemeyi keşfedin. +- PDF dönüşümü veya açıklama için diğer GroupDocs ürünleriyle birleştirin. + +## Sıkça Sorulan Sorular + +**S: Büyük hacimli belgeleri indeksleyebilir miyim?** +C: Evet, GroupDocs.Search geniş koleksiyonları verimli bir şekilde işlemek için tasarlanmıştır. + +**S: Mevcut bir indeksi yeni belgelerle güncellemek mümkün mü?** +C: Kesinlikle! İhtiyacınıza göre indeksinize belge ekleyebilir veya kaldırabilirsiniz. + +**S: İndekslenmiş verilerimin güvenliğini nasıl sağlarım?** +C: Belge‑parola sözlüğünü kullanın ve indeksi korumalı bir dizinde saklayın. + +**S: GroupDocs.Search farklı dosya formatlarını işleyebilir mi?** +C: Evet, PDF'ler, Word dosyaları, Excel sayfaları ve birçok diğer yaygın formatı destekler. + +**S: İndeksleme sırasında performans sorunlarıyla karşılaşırsam ne yapmalıyım?** +C: Paralel işleme etkinleştirmeyi, yığın boyutunu artırmayı veya indeks ayarlarını ayarlamayı düşünün. + +--- + +**Son Güncelleme:** 2025-12-29 +**Test Edilen Sürüm:** GroupDocs.Search 25.4 for Java +**Yazar:** GroupDocs + +**Kaynaklar** +- [Dokümantasyon](https://docs.groupdocs.com/search/java/) +- [API Referansı](https://reference.groupdocs.com/search/java) +- [GroupDocs.Search for Java'ı İndir](https://releases.groupdocs.com/search/java/) +- [GitHub Deposu](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/turkish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/turkish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..306d839e --- /dev/null +++ b/content/turkish/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Java belgelerini nasıl indeksleyeceğinizi ve GroupDocs.Search for Java + ile arama indeksi oluşturacağınızı öğrenin. Bu kılavuz, kurulum, indeksleme, arama + ve belgeleri verimli bir şekilde yönetmeyi kapsar. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: GroupDocs.Search ile Java Belgelerini Nasıl Dizinleyebilirsiniz – Verimli Arama +type: docs +url: /tr/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Java Belgelerini GroupDocs.Search ile Nasıl Dizinleyebilirsiniz – Verimli Arama + +## Giriş + +Büyük miktarda belgeyle boğuşup **how to index java** dosyalarını hızlı bir şekilde nasıl dizinleyeceğinizi merak ediyor musunuz? Birçok işletme ve birey bu zorlukla günlük olarak karşılaşıyor. **GroupDocs.Search for Java**, belge aramalarını düzenlemek için verimli bir çözüm sunar ve süreci daha hızlı ve yönetilebilir hâle getirir. + +Bu öğreticide, GroupDocs.Search for Java kullanarak belgelerinizin dizinlenmiş bir deposunu oluşturmanızda size rehberlik edeceğiz. Dosya sisteminden belgeleri nasıl yükleyeceğinizi, aramalar yapacağınızı, silme işlemlerini yöneteceğinizi ve dizinlenmiş verileri verimli ve ölçeklenebilir bir şekilde nasıl geri alacağınızı öğreneceksiniz. + +**Öğrenecekleriniz:** +- GroupDocs.Search for Java'ı kurma ve yapılandırma. +- **Arama dizini oluşturma** ve akışlardan belgeleri dizinleme. +- Dosya sisteminden belgeleri yükleme. +- **Anahtar kelime araması gerçekleştirme** dizininizde. +- **Belirli belgeler için dizin girdilerini silme**. +- Silme işlemlerinden sonra dizinlenmiş belgeleri geri alma. + +Belge aramalarını yönetme şeklinizi devrim niteliğinde değiştirmeye hazır mısınız? Gereksinimlerle başlayalım! + +## Hızlı Yanıtlar +- **Birincil amaç nedir?** Java belgelerini verimli bir şekilde dizinlemek ve aramaktır. +- **Hangi kütüphane gereklidir?** GroupDocs.Search for Java (v25.4+). +- **Lisans gerekli mi?** Ücretsiz deneme veya geçici lisans mevcuttur; üretim için kalıcı lisans gereklidir. +- **Dizinden belgeleri silebilir miyim?** Evet, belge anahtarlarıyla `delete` metodunu kullanarak. +- **Apache Commons IO zorunlu mu?** Dosya işleme yardımcı programları için önerilir. + +## “how to index java” nedir? +Java belgelerini dizinlemek, belge içeriğini aranabilir terimlere eşleyen bir aranabilir veri yapısı (dizin) oluşturmak anlamına gelir; bu sayede anahtar kelime sorgularına dayalı olarak ilgili dosyalar hızlı bir şekilde geri alınabilir. + +## Neden GroupDocs.Search for Java Kullanmalısınız? +- **Hız:** Optimize edilmiş algoritmalar, büyük koleksiyonlarda bile hızlı sorgu sonuçları sağlar. +- **Ölçeklenebilirlik:** Performansı düşürmeden binlerce belgeyi yönetir. +- **Esneklik:** Çeşitli dosya formatlarını destekler ve büyük dosyalar için tembel yükleme (lazy loading) sunar. +- **Entegrasyon Kolaylığı:** Basit Maven kurulumu ve anlaşılır API. + +## Önkoşullar + +Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun: + +### Gerekli Kütüphaneler ve Bağımlılıklar +- **GroupDocs.Search for Java**: Versiyon 25.4 veya daha yeni bir sürümün kurulu olduğundan emin olun. +- **Apache Commons IO**: Dosya işleme yardımcı programları için gereklidir. + +### Ortam Kurulum Gereksinimleri +- Java Development Kit (JDK) 8 veya üzeri. +- IntelliJ IDEA veya Eclipse gibi Entegre Geliştirme Ortamı (IDE). + +### Bilgi Önkoşulları +- Java programlama ve nesne‑yönelimli kavramlar hakkında temel anlayış. +- Bağımlılık yönetimi için Maven'e aşina olmak faydalıdır ancak zorunlu değildir. + +## GroupDocs.Search for Java'ı Kurma + +GroupDocs.Search ile proje ortamınızı kurmak, Maven kullanarak aşağıdaki adımları içerir: + +**Maven Yapılandırması:** +`pom.xml` dosyanıza aşağıdaki depo ve bağımlılığı ekleyin: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Doğrudan İndirme:** +Alternatif olarak, en son sürümü doğrudan [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) adresinden indirebilirsiniz. + +### Lisans Edinme Adımları +- **Ücretsiz Deneme:** Özelliklerini test etmek için ücretsiz deneme ile başlayın. +- **Geçici Lisans:** Sınırlama olmadan tüm özellikleri keşfetmek için geçici lisans başvurusu yapın. +- **Satın Alma:** İhtiyaçlarınıza uygunsa satın almayı düşünün. + +**Temel Başlatma ve Kurulum:** + +Ortamınız hazır olduğunda, GroupDocs.Search'ı şu şekilde başlatın: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## GroupDocs.Search Kullanarak Java Belgelerini Nasıl Dizinlersiniz + +### Belgeleri Oluşturma ve Dizinleme + +**Genel Bakış:** Belirtilen bir klasörde dizin oluşturmayı ve akışlardan belge eklemeyi öğrenin; bu, **create search index** sürecini kolaylaştırır. + +#### Adım 1: Dizin Oluşturma +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Parametreler:** İlk parametre, dizinlerin saklanacağı klasör yoludur. İkinci boolean, dizin mevcutsa otomatik güncellemeyi etkinleştirir. + +#### Adım 2: Akıştan Belgeleri Yükleme ve Ekleme +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Açıklama:** Burada, dosyayı okumak ve dizinleme için hazırlamak amacıyla bir `DocumentLoader` oluşturursunuz. `createLazy` metodu, büyük dosyaları verimli bir şekilde işlemek için kullanılır. + +### Dosya Sisteminden Belgeleri Yükleme + +**Genel Bakış:** Apache Commons IO yardımcı programlarını kullanarak belgeleri doğrudan dosya sisteminizden okuyacak özel bir yükleyici uygulayın. + +#### Adım 1: Document Loader Tanımlama +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Detaylar:** Bu sınıf dosyayı bir bayt dizisine okur ve ondan bir `Document` nesnesi oluşturur. + +### Dizin İçinde Anahtar Kelime Araması Yapma + +**Genel Bakış:** Dizinlenmiş belgeleriniz üzerinde arama işlemleri gerçekleştirerek ilgili bilgileri hızlı bir şekilde geri alın. + +#### Adım 1: Aramayı Gerçekleştirme +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Açıklama:** Basit bir metin sorgusuyla `search` metodunu kullanarak dizinlenmiş verilerinizden sonuçlar alın. Bu yaklaşım **java document search** senaryoları için etkilidir. + +### Dizin Girdilerini Nasıl Silinir + +**Genel Bakış:** Anahtarlarını kullanarak belirli belgeleri silerek dizininizi yönetin. + +#### Adım 1: Belgeyi Silme +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Parametreler:** Dizinden kaldırmak istediğiniz belge anahtarlarının dizisini geçirin. `UpdateOptions` esnek silme stratejileri sağlar. + +### Silme Sonrası Dizinlenmiş Belgeleri Geri Alma + +**Genel Bakış:** Belgeleri sildikten sonra, veri bütünlüğünü sağlamak için kalan dizinlenmiş dosyaların bir listesini alın. + +#### Adım 1: Kalan Belgeleri Alın +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Açıklama:** Bu adım, herhangi bir silme işleminden sonra dizininizin mevcut durumunu doğrulamanıza yardımcı olur. + +## Pratik Uygulamalar + +GroupDocs.Search for Java çok yönlüdür ve aşağıdaki gibi birçok kullanım senaryosu sunar: + +1. **Kurumsal Belge Yönetimi:** Şirket belgeleri arasında hızlı arama yaparak verimliliği artırın. +2. **Hukuki Belge Analizi:** Dava dosyaları ve hukuki metinler arasında ilgili emsalleri bulmak için verimli bir şekilde süzün. +3. **Kütüphane Kataloglama Sistemleri:** Kitap ve el yazması gibi büyük koleksiyonları dizinleyin ve yönetin, erişimi kolaylaştırın. + +## Performans Düşünceleri + +En iyi performans için: + +- **Dizin Optimizasyonu:** Belgelerdeki son değişiklikleri yansıtmak için dizininizi düzenli olarak güncelleyin. +- **Bellek Yönetimi:** Kaynak‑ağır işlemleri yöneterek Java'nın çöp toplamasını etkili bir şekilde kullanın. +- **Ölçeklenebilirlik:** Dizinleme stratejinizin performansı düşürmeden büyük veri hacimlerini yönetebildiğinden emin olun. + +## Yaygın Sorunlar ve Çözümler + +| Sorun | Neden | Çözüm | +|-------|-------|----------| +| **Sonuç döndürülmedi** | Sorgu terimleri dizine eklenmemiş veya durdurma kelimeleri filtrelenmiş | `IndexingOptions` doğrulayın ve durdurma kelimeleri listesini ayarlayın | +| **Bellek yetersizliği hataları** | Temiz yükleme (lazy loading) olmadan çok büyük dosyalar yükleniyor | `Document.createLazy` kullanın veya JVM yığın boyutunu artırın | +| **Silinen belgeler hâlâ görünüyor** | Silme işleminden sonra dizin yenilenmemiş | `index.optimize()` çağırın veya dizini yeniden açın | + +## Sık Sorulan Sorular + +**S: PDF, DOCX ve PPTX dosyalarını birlikte dizinleyebilir miyim?** +C: Evet, GroupDocs.Search kutudan çıktığı gibi geniş bir format yelpazesini destekler. + +**S: “how to delete index” nasıl çalışır?** +C: `delete` metodu, belge anahtarlarına göre girdileri kaldırır ve dizinin tutarlı kalması için iç gönderi listelerini günceller. + +**S: Dizin boyutunu izlemek için bir yol var mı?** +C: `index.getStatistics()` kullanarak belge sayısı ve depolama boyutu hakkında bilgi alabilirsiniz. + +**S: Her silmeden sonra tüm dizini yeniden oluşturmalı mıyım?** +C: Hayır, `delete` işlemi dizini artımlı olarak günceller, mevcut verileri korur. + +**S: Şema değişikliğinden sonra tüm belgeleri yeniden dizinlemem gerekirse?** +C: Farklı bir klasör yolu ile yeni bir `Index` örneği oluşturun ve tüm belgeleri yeniden ekleyin. + +## Sonuç + +Şimdiye kadar, **how to index java** belgeleri hakkında sağlam bir anlayışa sahip olmalı ve GroupDocs.Search for Java kullanarak hızlı aramalar yapabilmelisiniz. Bu güçlü kütüphane, büyük belge koleksiyonlarından bilgi yönetimi ve geri alma şeklinizi dönüştürebilir ve her kuruluş için vazgeçilmez bir araç haline getirir. + +**Sonraki Adımlar:** +- Farklı belge türleri ve karmaşık sorgularla deney yapın. +- Facetli arama, meta veri dizinleme ve özel analizörler gibi gelişmiş özellikleri keşfedin. + +Dizinleme yolculuğunuza başlamaya hazır mısınız? Bu teknikleri bugün uygulayın ve daha hızlı, daha doğru belge geri almanın keyfini çıkarın! + +--- + +**Son Güncelleme:** 2025-12-29 +**Test Edilen Versiyon:** GroupDocs.Search Java 25.4 +**Yazar:** GroupDocs \ No newline at end of file diff --git a/content/turkish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/turkish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..a5c2bcd0 --- /dev/null +++ b/content/turkish/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: GroupDocs.Search for Java'in gelişmiş indeksleme özelliklerini kullanarak + arama performansını nasıl optimize edeceğinizi öğrenin; iptal, asenkron işlemler, + çok iş parçacıklı çalışma ve meta veri özelleştirmeyi içeren. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: GroupDocs.Search for Java'da Gelişmiş Dizinleme Teknikleriyle Arama Performansını + Optimize Edin +type: docs +url: /tr/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# GroupDocs.Search for Java'da Gelişmiş Dizinleme Teknikleriyle Arama Performansını Optimize Etme + +Bugünün hızlı tempolu dijital ortamında **arama performansını optimize etmek**, kullanıcılara anlık sonuçlar sunmak için hayati öneme sahiptir. İster özel bir arama motoru oluşturuyor olun, ister mevcut bir belge yönetim sistemini geliştiriyor olun, doğru dizinleme stratejisi gecikmeyi ve kaynak tüketimini büyük ölçüde azaltabilir. Bu öğreticide, GroupDocs.Search for Java’nın en güçlü özelliklerini—iptal, eşzamanlı olmayan dizinleme, çoklu iş parçacığı ve meta veri özelleştirme—adım adım inceleyeceğiz, böylece **add documents index** işlemini daha hızlı ve verimli bir şekilde gerçekleştirebileceksiniz. + +**What You’ll Learn** + +- Belirli bir süreden sonra bir dizinleme işlemini iptal etme +- Eşzamanlı olmayan dizinleme işlemlerini yürütme ve durum değişikliklerini işleme +- Daha hızlı dizinleme için çoklu iş parçacığını yapılandırma +- Meta veri dizinleme seçeneklerini özelleştirme + +Kodlara dalmadan önce ihtiyacınız olan her şeye sahip olduğunuzdan emin olalım. + +## Prerequisites + +- **GroupDocs.Search Library** – sürüm 25.4 veya üzeri. +- **Java Development Environment** – JDK 8 veya üzeri önerilir. +- Java ve dizinleme kavramına temel aşinalık. + +### Setting Up GroupDocs.Search for Java + +#### Maven Installation + +`pom.xml` dosyanıza depo ve bağımlılığı ekleyin: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Direct Download + +Alternatif olarak, en son JAR dosyasını [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/) adresinden indirin. + +**License Acquisition** – Tam özellik setini açmak için ücretsiz deneme sürümüyle başlayın veya geçici bir lisans isteyin. + +### Basic Initialization and Setup + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Quick Answers +- **What does cancellation do?** Belirli bir süreden sonra dizinlemeyi durdurur ve kaynakları serbest bırakır. +- **Can I index documents asynchronously?** Evet – `options.setAsync(true)` ayarlayın. +- **How many threads can I use?** Pozitif bir tam sayı; çoğu sunucu için tipik değer 2‑4’tür. +- **Is metadata indexing optional?** Kesinlikle – alan bazında etkinleştirebilir veya ince ayar yapabilirsiniz. +- **Do I need a license for these features?** Deneme sürümü test için yeterlidir; üretim ortamı için tam lisans gereklidir. + +## What Is “Optimize Search Performance” in This Context? + +Arama performansını optimize etmek, dizinleme sürecini CPU, bellek ve zamanı doğru oranda tüketecek şekilde yapılandırmak ve en alakalı sonuçları anında sunmak demektir. İptal, eşzamanlı olmayan yürütme, iş parçacığı ve meta veri yönetimini kontrol ederek, **add documents index** ve sorgulara yanıt verme hızını doğrudan etkilersiniz. + +## Why Use Advanced Indexing Features? + +- **Reduced latency** – Eşzamanlı olmayan ve çok iş parçacıklı dizinleme, uygulamanızın yanıt vermesini sağlar. +- **Better resource management** – İptal, kaynak tüketimini kontrol altında tutar. +- **Tailored search relevance** – Meta veri seçenekleri, en önemli bilgileri ön plana çıkarmanıza olanak tanır. + +## Implementation Guide + +### Cancellation Property + +**Overview** – Kaynak aşırı tüketimini önlemek için belirli bir süreden sonra dizinlemeyi iptal edin. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Create Indexing Options with Cancellation + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Key Points** + +- `setCancellation()` özelliği etkinleştirir. +- `cancelAfter(int milliseconds)` zaman aşımını tanımlar (bu örnekte 3 saniye). + +### Asynchronous Property + +**Overview** – Dizinlemeyi arka plan iş parçacığında çalıştırın ve durum değişikliklerini dinleyin. + +#### Step 1: Set Up the Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Subscribe to Status Changed Event + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Step 3: Configure Asynchronous Options + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Threads Property + +**Overview** – Birden çok CPU çekirdeğini kullanarak dizinleme hızını artırın. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Multi‑threading + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Metadata Indexing Options Property + +**Overview** – Hangi belge meta verilerinin dizinleneceğini ve nasıl saklanacağını ince ayar yapın. + +#### Step 1: Set Up Environment + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Step 2: Configure Metadata Options + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Practical Applications + +1. **Document Management Systems** – Büyük toplu işlemler arka planda yürütülürken UI’nın yanıt vermesini sağlamak için eşzamanlı olmayan dizinleme kullanın. +2. **Content Search Engines** – Yoğun trafik zamanlarında uzun süren işleri engellemek için iptal özelliğini uygulayın. +3. **Large‑Scale Ingestion Pipelines** – **add documents index** işlemini ölçekli şekilde gerçekleştirmek ve işleme süresini büyük ölçüde kısaltmak için çok iş parçacıklı dizinlemeyi kullanın. + +## Performance Considerations + +- **Thread Management** – CPU kullanımını izleyin; çok fazla iş parçacığı bağlam geçişi overhead’ine yol açabilir. +- **Memory Footprint** – `setMaxBytesToIndexField` gibi meta veri limitleri, bellek kullanımını öngörülebilir tutar. +- **Garbage Collection** – Büyük veri kümelerini dizinlerken uygun JVM bayraklarını (`-Xmx`, `-XX:+UseG1GC`) kullanın. + +## Common Issues and Solutions + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Indexing never finishes | Cancellation set too low | Increase `cancelAfter` value or remove cancellation for long jobs | +| No status updates in async mode | Event handler not attached correctly | Ensure `index.getEvents().StatusChanged.add(...)` is called before `index.add` | +| Out‑of‑memory errors | Too many threads or high metadata limits | Reduce `options.setThreads` and lower metadata field limits | +| Missing metadata in results | Metadata indexing disabled | Verify `options.getMetadataIndexingOptions()` is configured and not set to ignore fields | + +## Frequently Asked Questions + +**Q: How do I obtain a temporary license for GroupDocs.Search?** +A: Visit [GroupDocs' temporary license page](https://purchase.groupdocs.com/temporary-license/). + +**Q: Can I cancel an indexing operation midway through?** +A: Yes – use the cancellation property with `cancelAfter()` or call `Cancellation.cancel()` programmatically. + +**Q: What are some use cases for asynchronous indexing?** +A: Real‑time document retrieval, background batch processing, and UI‑responsive applications benefit from async indexing. + +**Q: Is it safe to increase the thread count on a shared server?** +A: Increase gradually and monitor CPU load; on heavily shared environments, keep the thread count modest (2‑4). + +**Q: How does metadata indexing affect search relevance?** +A: Properly indexed metadata (author, creation date, tags) can be weighted higher in queries, improving result accuracy. + +## Conclusion + +GroupDocs.Search for Java’nın bu gelişmiş özelliklerini benimseyerek, çeşitli senaryolarda **optimize search performance** elde edebilirsiniz—hızlı belge alımından ince ayarlı meta veri kontrolüne kadar. Farklı yapılandırmalarla deney yapın, kaynak kullanımını izleyin ve ayarları iş yükünüze göre özelleştirerek en iyi sonuçları alın. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 for Java +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/vietnamese/java/getting-started/_index.md b/content/vietnamese/java/getting-started/_index.md new file mode 100644 index 00000000..3a3fceea --- /dev/null +++ b/content/vietnamese/java/getting-started/_index.md @@ -0,0 +1,97 @@ +--- +date: 2025-12-29 +description: Hướng dẫn từng bước cách cấu hình GroupDocs.Search cho các nhà phát triển + Java, bao gồm cài đặt, cấp phép và tạo giải pháp tìm kiếm đầu tiên của bạn. +title: 'Cách cấu hình GroupDocs.Search - Hướng dẫn bắt đầu cho Java' +type: docs +url: /vi/java/getting-started/ +weight: 1 +--- + +# Cách cấu hình GroupDocs.Search - Hướng dẫn bắt đầu cho Java + +Chào mừng bạn đến với hướng dẫn toàn diện về **cách cấu hình GroupDocs.Search** cho các ứng dụng Java. Trong tutorial này, bạn sẽ học các bước cần thiết để cài đặt thư viện, thiết lập giấy phép, và xây dựng giải pháp tài liệu có khả năng tìm kiếm đầu tiên của mình. Dù bạn đang bắt đầu một dự án mới hay tích hợp tìm kiếm vào một codebase hiện có, hướng dẫn này cung cấp mọi thứ bạn cần để nhanh chóng khởi động và vận hành. + +## Câu trả lời nhanh +- **Bước đầu tiên là gì?** Cài đặt gói GroupDocs.Search Java qua Maven hoặc Gradle. +- **Có cần giấy phép không?** Có — giấy phép tạm thời hoạt động cho môi trường phát triển; giấy phép đầy đủ cần thiết cho môi trường production. +- **IDE nào phù hợp nhất?** Bất kỳ IDE Java nào (IntelliJ IDEA, Eclipse, VS Code) hỗ trợ dự án Maven/Gradle. +- **Có thể lập chỉ mục PDF và Word không?** Chắc chắn — GroupDocs.Search hỗ trợ đa dạng định dạng tài liệu ngay từ đầu. +- **Thiết lập mất bao lâu?** Thông thường dưới 15 phút cho một dự án mới. + +## “Cách cấu hình GroupDocs.Search” là gì? +Cấu hình GroupDocs.Search có nghĩa là chuẩn bị thư viện để lập chỉ mục tài liệu, xác định vị trí lưu trữ, và áp dụng khóa giấy phép của bạn để API hoạt động không bị hạn chế. Cấu hình đúng sẽ đảm bảo kết quả tìm kiếm nhanh, chính xác và tích hợp mượt mà với mã Java của bạn. + +## Tại sao nên cấu hình GroupDocs.Search cho Java? +- **Triển khai nhanh** – Cần rất ít mã để bắt đầu lập chỉ mục và tìm kiếm. +- **Lập chỉ mục mở rộng** – Xử lý bộ sưu tập tài liệu lớn mà không giảm hiệu năng. +- **Hỗ trợ đa định dạng** – Hoạt động với PDF, DOCX, XLSX, PPTX và nhiều loại tệp khác. +- **Giấy phép an toàn** – Đảm bảo tuân thủ và mở khóa tất cả tính năng cao cấp. + +## Điều kiện tiên quyết +- Java Development Kit (JDK) 8 hoặc cao hơn. +- Maven 3 hoặc Gradle 5 để quản lý phụ thuộc. +- Truy cập vào khóa giấy phép GroupDocs.Search tạm thời hoặc đầy đủ. + +## Hướng dẫn từng bước + +### Bước 1: Thêm GroupDocs.Search vào dự án của bạn +Bao gồm phụ thuộc GroupDocs.Search trong file `pom.xml` (Maven) hoặc `build.gradle` (Gradle). Điều này sẽ làm cho thư viện sẵn sàng cho mã của bạn. + +### Bước 2: Áp dụng giấy phép của bạn +Tạo một đối tượng `License` và tải file giấy phép tạm thời hoặc vĩnh viễn của bạn. Bước này mở khóa toàn bộ chức năng và loại bỏ các giới hạn đánh giá. + +### Bước 3: Khởi tạo cài đặt chỉ mục +Xác định nơi các file chỉ mục sẽ được lưu trên đĩa và cấu hình bất kỳ tùy chọn lập chỉ mục tùy chỉnh nào bạn cần (ví dụ: phân biệt chữ hoa/chữ thường, từ dừng). + +### Bước 4: Lập chỉ mục tài liệu của bạn +Sử dụng lớp `Indexer` để thêm file hoặc thư mục vào chỉ mục. GroupDocs.Search tự động phát hiện loại file và trích xuất văn bản có thể tìm kiếm. + +### Bước 5: Thực hiện truy vấn tìm kiếm +Tạo một đối tượng `SearchOptions`, chỉ định chuỗi truy vấn, và thực thi tìm kiếm. API sẽ trả về danh sách các tài liệu khớp cùng với điểm liên quan. + +### Bước 6: Xem lại kết quả +Duyệt qua các kết quả tìm kiếm, hiển thị tên file, và tùy chọn làm nổi bật các thuật ngữ khớp trong giao diện người dùng. + +## Các vấn đề thường gặp và giải pháp +- **Giấy phép không được nhận dạng** – Kiểm tra lại đường dẫn file giấy phép và đảm bảo nó phù hợp với phiên bản GroupDocs.Search bạn đang dùng. +- **Thiếu định dạng tài liệu** – Cài đặt add‑on `groupdocs-conversion` tùy chọn nếu bạn cần hỗ trợ các loại file ít phổ biến hơn. +- **Nút thắt hiệu năng** – Sử dụng lập chỉ mục tăng dần và cấu hình thư mục chỉ mục trên ổ SSD để truy cập nhanh hơn. + +## Câu hỏi thường gặp + +**Q: Tôi có thể dùng GroupDocs.Search trên máy chủ Linux không?** +A: Có, thư viện không phụ thuộc vào nền tảng và chạy trên bất kỳ hệ điều hành nào hỗ trợ Java. + +**Q: Làm sao cập nhật chỉ mục sau khi thêm file mới?** +A: Gọi lại `Indexer` với các file mới; thư viện sẽ hợp nhất chúng vào chỉ mục hiện có. + +**Q: Có cách giới hạn kết quả tìm kiếm trong một thư mục cụ thể không?** +A: Có, đặt bộ lọc thư mục trong `SearchOptions` trước khi thực thi truy vấn. + +**Q: Điều gì sẽ xảy ra nếu tôi vượt quá thời gian giấy phép tạm thời?** +A: API sẽ tiếp tục hoạt động ở chế độ đánh giá với các tính năng bị giới hạn; thay thế file giấy phép bằng khóa vĩnh viễn để khôi phục đầy đủ chức năng. + +**Q: GroupDocs.Search có hỗ trợ tìm kiếm mờ không?** +A: Chắc chắn — bật tính năng fuzzy matching trong `SearchOptions` để lấy kết quả với các sai lệch chính tả nhỏ. + +## Tài nguyên bổ sung + +### Các tutorial có sẵn + +### [Deploy GroupDocs.Search for Java: Comprehensive Setup Guide](./deploy-groupdocs-search-java-setup-guide/) +Tìm hiểu cách triển khai và cấu hình GroupDocs.Search cho Java qua hướng dẫn chi tiết từng bước. Nâng cao khả năng lập chỉ mục và tìm kiếm tài liệu trong dự án của bạn. + +### Liên kết hữu ích +- [GroupDocs.Search for Java Documentation](https://docs.groupdocs.com/search/java/) +- [GroupDocs.Search for Java API Reference](https://reference.groupdocs.com/search/java/) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GroupDocs.Search Forum](https://forum.groupdocs.com/c/search) +- [Free Support](https://forum.groupdocs.com/) +- [Temporary License](https://purchase.groupdocs.com/temporary-license/) + +--- + +**Cập nhật lần cuối:** 2025-12-29 +**Đã kiểm tra với:** GroupDocs.Search 23.12 for Java +**Tác giả:** GroupDocs \ No newline at end of file diff --git a/content/vietnamese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md b/content/vietnamese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md new file mode 100644 index 00000000..d8a53d00 --- /dev/null +++ b/content/vietnamese/java/indexing/automate-document-indexing-groupdocs-search-java/_index.md @@ -0,0 +1,246 @@ +--- +date: '2025-12-29' +description: Tìm hiểu cách dọn dẹp thư mục Java, tự động hoá quản lý tài liệu và đổi + tên tệp bằng GroupDocs.Search cho Java. Tăng cường hiệu suất trong các ứng dụng + của bạn. +keywords: +- Java document indexing +- GroupDocs.Search for Java +- automate document management +title: Dọn dẹp thư mục Java – Tự động đánh chỉ mục và đổi tên +type: docs +url: /vi/java/indexing/automate-document-indexing-groupdocs-search-java/ +weight: 1 +--- + +# Clean Directory Java – Tự động lập chỉ mục tài liệu và đổi tên bằng GroupDocs.Search + +Nếu bạn cần **clean directory java** trong khi tự động hóa việc lập chỉ mục tài liệu và đổi tên, bạn đã đến đúng nơi. Việc xử lý thủ công việc di chuyển, xóa tệp và cập nhật chỉ mục dễ gây lỗi và tốn thời gian. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách để Java thực hiện công việc nặng, sử dụng **GroupDocs.Search for Java** để tạo chỉ mục có thể tìm kiếm, đổi tên tệp và tự động đồng bộ chỉ mục. + +## Câu trả lời nhanh +- **What does “clean directory java” mean?** Xóa tất cả các tệp/thư mục bên trong thư mục mục tiêu bằng mã Java. +- **Which library creates the searchable index?** GroupDocs.Search for Java. +- **How do I rename a document and keep the index updated?** Sử dụng `File.renameTo()` rồi thông báo cho chỉ mục bằng `Notification.createRenameNotification`. +- **Can I copy files after cleaning the folder?** Có – Java Streams có thể sao chép tệp trong khi giữ nguyên chỉ mục. +- **Is a license required for production?** Cần có giấy phép GroupDocs.Search hợp lệ cho việc sử dụng thương mại. + +## “clean directory java” là gì? +Làm sạch một thư mục trong Java có nghĩa là loại bỏ một cách lập trình mọi tệp và thư mục con bên trong một thư mục được chỉ định. Đây thường là bước chuẩn bị trước khi sao chép các tệp mới hoặc xây dựng lại chỉ mục, đảm bảo dữ liệu cũ không can thiệp vào kết quả tìm kiếm. + +## Tại sao nên tự động hóa việc lập chỉ mục và đổi tên tài liệu? +- **Document management automation** giảm công sức thủ công và loại bỏ lỗi con người. +- Bước **create searchable index** cho phép bạn nhanh chóng tìm thấy bất kỳ tài liệu nào bằng nội dung. +- Đổi tên tệp mà không cập nhật chỉ mục sẽ làm giảm độ chính xác của tìm kiếm; tự động hóa giữ mọi thứ nhất quán. + +## Yêu cầu trước + +- **GroupDocs.Search for Java** (Phiên bản 25.4 trở lên) +- JDK 8 + và một IDE như IntelliJ IDEA hoặc Eclipse +- Kiến thức cơ bản về Java, đặc biệt là I/O tệp + +## Cài đặt GroupDocs.Search cho Java + +### Phụ thuộc Maven +Thêm kho lưu trữ và phụ thuộc vào tệp `pom.xml` của bạn: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +### Tải trực tiếp +Hoặc, tải phiên bản mới nhất từ [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Giấy phép +Nhận bản dùng thử miễn phí, giấy phép đánh giá tạm thời, hoặc mua giấy phép đầy đủ cho việc sử dụng trong môi trường sản xuất. + +### Khởi tạo cơ bản +Tạo một thể hiện `Index` sẽ chứa dữ liệu có thể tìm kiếm: + +```java +import com.groupdocs.search.Index; + +public class Main { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + Index index = new Index(indexFolder); + } +} +``` + +## Hướng dẫn triển khai + +### 1. Thêm tài liệu vào chỉ mục (create searchable index) + +```java +import com.groupdocs.search.Index; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY/DocumentIndexingAndRenaming/Index"; + String documentFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + // Create an Index + Index index = new Index(indexFolder); + + // Add documents to the index + index.add(documentFolder); + } +} +``` + +*Giải thích*: +- `indexFolder` – nơi lưu trữ các tệp chỉ mục. +- `documentFolder` – thư mục nguồn chứa các tệp bạn muốn làm cho có thể tìm kiếm. + +### 2. Đổi tên tài liệu và thông báo cho chỉ mục + +```java +import com.groupdocs.search.Notification; + +public class DocumentIndexingAndRenaming { + public static void main(String[] args) { + // Define paths for renaming + String oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum.txt"; + String newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/Lorem ipsum renamed.txt"; + + java.io.File fileToRename = new java.io.File(oldDocumentPath); + boolean renameSuccessful = fileToRename.renameTo(new java.io.File(newDocumentPath)); + + if (renameSuccessful) { + // Notify the index about the renaming + Notification notification = Notification.createRenameNotification(oldDocumentPath, newDocumentPath); + index.notifyIndex(notification); + + // Update the index to reflect changes + index.update(); + } + } +} +``` + +*Giải thích*: +- `File.renameTo()` của Java thực hiện việc đổi tên thực tế. +- `Notification.createRenameNotification()` thông báo cho GroupDocs.Search rằng tên tệp đã thay đổi, giữ cho chỉ mục chính xác. + +## Clean Directory Java – Làm sạch thư mục và sao chép tệp + +Giữ cho thư mục gọn gàng trước khi sao chép hàng loạt ngăn ngừa các tệp trùng lặp hoặc không có liên kết. Dưới đây là hai đoạn mã có thể tái sử dụng. + +### Bước 1: Xóa nội dung thư mục (delete folder contents) + +```java +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + Files.walk(Paths.get(targetDirectory)) + .map(Path::toFile) + .sorted((o1, o2) -> -o1.compareTo(o2)) + .forEach(File::delete); + } +} +``` + +*Giải thích*: +- `Files.walk()` duyệt qua mọi tệp và thư mục con. +- Sắp xếp theo thứ tự ngược lại đảm bảo các tệp được xóa trước các thư mục cha, thực hiện hiệu quả **delete folder contents**. + +### Bước 2: Sao chép tệp (copy files java) + +```java +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +public class DirectoryCleaningAndFileCopying { + public static void main(String[] args) throws IOException { + String sourceDirectory = "YOUR_SOURCE_DIRECTORY/ExampleFiles/"; + String targetDirectory = "YOUR_DOCUMENT_DIRECTORY/DocumentIndexingAndRenaming/Documents/"; + + try (Stream paths = Files.walk(Paths.get(sourceDirectory))) { + paths.filter(Files::isRegularFile) + .forEach(sourcePath -> { + Path destPath = Paths.get(targetDirectory + sourcePath.getFileName().toString()); + try { + Files.copy(sourcePath, destPath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + e.printStackTrace(); + } + }); + } + } +} +``` + +*Giải thích*: +- Luồng chỉ lọc các tệp thường, sau đó sao chép từng tệp vào thư mục đích, ghi đè các tệp hiện có nếu cần. + +## Ứng dụng thực tiễn + +- **Enterprise Document Management** – Tự động lập chỉ mục cho hàng ngàn hợp đồng và đồng bộ tên tệp. +- **Legal Firms** – Nhanh chóng đổi tên các tệp vụ án trong khi giữ nguyên nội dung có thể tìm kiếm. +- **Content Management Systems** – Sử dụng mẫu clean‑directory để làm mới các thư mục media mà không cần dọn dẹp thủ công. + +## Các cân nhắc về hiệu năng + +- **Index Size** – Thường xuyên nén chỉ mục nếu nó trở nên lớn. +- **Memory Usage** – Xử lý tệp theo lô để tránh `OutOfMemoryError`. +- **Concurrency** – Đối với các thao tác hàng loạt, cân nhắc sử dụng `ExecutorService` của Java để thực hiện song song việc làm sạch và sao chép. + +## Các vấn đề thường gặp & Mẹo + +| Vấn đề | Nguyên nhân | Cách khắc phục | +|-------|-------------|----------------| +| Đổi tên thất bại | Tệp bị khóa hoặc đường dẫn không hợp lệ | Đảm bảo tệp không được mở ở nơi khác; sử dụng `Files.move` để đổi tên đáng tin cậy hơn. | +| Chỉ mục không cập nhật | Không gửi thông báo | Luôn gọi `index.notifyIndex(notification)` rồi sau đó gọi `index.update()`. | +| Kết quả tìm kiếm lỗi thời sau khi sao chép | Chỉ mục vẫn trỏ tới các tệp cũ | Thêm lại thư mục đích vào chỉ mục hoặc gọi `index.update()` sau khi sao chép. | + +## Câu hỏi thường gặp + +**Q: Tôi có thể làm sạch một thư mục chứa các thư mục con không?** +A: Có. Cách tiếp cận `Files.walk()` sẽ xóa đệ quy tất cả các tệp và thư mục con. + +**Q: Tôi có cần xây dựng lại toàn bộ chỉ mục sau mỗi lần đổi tên không?** +A: Không. Gửi thông báo đổi tên và gọi `index.update()` là đủ. + +**Q: Tôi có thể làm sạch thư mục lớn bao nhiêu trước khi gặp giới hạn hiệu năng?** +A: Điều này phụ thuộc vào bộ nhớ JVM; xử lý theo các lô nhỏ hơn hoặc sử dụng streams giúp quản lý tập dữ liệu lớn. + +**Q: GroupDocs.Search có miễn phí cho phát triển không?** +A: Có bản dùng thử miễn phí, nhưng cần giấy phép trả phí cho việc sử dụng trong môi trường sản xuất. + +**Q: Tôi có thể sử dụng cách này với các loại tệp khác (ví dụ: PDF, DOCX) không?** +A: Chắc chắn. GroupDocs.Search hỗ trợ nhiều định dạng; chỉ cần thêm thư mục chứa các tệp đó vào chỉ mục. + +## Kết luận + +Bây giờ bạn đã có một giải pháp hoàn chỉnh, sẵn sàng cho môi trường sản xuất cho **clean directory java**, thêm tài liệu vào chỉ mục có thể tìm kiếm, đổi tên tệp và giữ mọi thứ đồng bộ với GroupDocs.Search. Áp dụng các mẫu này để tự động hóa quy trình quản lý tài liệu và tận hưởng trải nghiệm tìm kiếm nhanh hơn, đáng tin cậy hơn. + +--- + +**Last Updated:** 2025-12-29 +**Tested With:** GroupDocs.Search 25.4 +**Author:** GroupDocs + +--- \ No newline at end of file diff --git a/content/vietnamese/java/indexing/create-manage-groupdocs-search-java-index/_index.md b/content/vietnamese/java/indexing/create-manage-groupdocs-search-java-index/_index.md new file mode 100644 index 00000000..b2dd9b46 --- /dev/null +++ b/content/vietnamese/java/indexing/create-manage-groupdocs-search-java-index/_index.md @@ -0,0 +1,169 @@ +--- +date: '2025-12-29' +description: Tìm hiểu cách quản lý mật khẩu tài liệu Java với GroupDocs.Search, tạo + chỉ mục có thể tìm kiếm và tìm kiếm hiệu quả trên nhiều tài liệu. +keywords: +- manage document passwords java +- search across multiple documents +title: Quản lý mật khẩu tài liệu Java bằng GroupDocs.Search +type: docs +url: /vi/java/indexing/create-manage-groupdocs-search-java-index/ +weight: 1 +--- + +# Quản lý mật khẩu tài liệu Java bằng GroupDocs.Search + +Trong các ứng dụng doanh nghiệp hiện đại, **quản lý mật khẩu tài liệu Java** là một bước quan trọng để giữ an toàn cho các tệp nhạy cảm đồng thời vẫn cho phép tìm kiếm nhanh chóng và đáng tin cậy. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tạo và quản lý các chỉ mục với GroupDocs.Search, lưu mật khẩu một cách an toàn trong từ điển chỉ mục, và sau đó **tìm kiếm trên nhiều tài liệu** một cách dễ dàng. Dù bạn đang xây dựng hệ thống quản lý tài liệu hay thêm tính năng tìm kiếm vào một ứng dụng Java hiện có, các bước dưới đây sẽ giúp bạn nhanh chóng khởi động. + +## Câu trả lời nhanh +- **“Quản lý mật khẩu tài liệu Java” có nghĩa là gì?** Nó đề cập đến việc lưu và truy xuất mật khẩu cho các tệp được bảo vệ trực tiếp trong chỉ mục tìm kiếm. +- **Tôi có thể lập chỉ mục các tệp được bảo vệ bằng mật khẩu không?** Có — chỉ cần thêm mật khẩu vào từ điển chỉ mục trước khi lập chỉ mục. +- **Tôi có thể tìm kiếm bao nhiêu tài liệu cùng một lúc?** GroupDocs.Search có thể **tìm kiếm trên nhiều tài liệu** trong một truy vấn duy nhất. +- **Tôi có cần giấy phép cho môi trường sản xuất không?** Giấy phép là bắt buộc cho việc sử dụng trong môi trường sản xuất; bản dùng thử miễn phí có sẵn để đánh giá. +- **Yêu cầu phiên bản Java nào?** JDK 8 hoặc cao hơn. + +## “Quản lý mật khẩu tài liệu Java” là gì? +Việc lưu mật khẩu tài liệu bên trong chỉ mục tìm kiếm cho phép engine tự động mở các tệp được bảo vệ trong quá trình lập chỉ mục và tìm kiếm, loại bỏ nhu cầu nhập mật khẩu thủ công mỗi lần. + +## Tại sao nên sử dụng GroupDocs.Search cho nhiệm vụ này? +- **Từ điển mật khẩu tích hợp** – giữ mật khẩu gắn với đường dẫn tệp. +- **Lập chỉ mục hiệu năng cao** – xử lý hàng ngàn tệp nhanh chóng. +- **Ngôn ngữ truy vấn phong phú** – hỗ trợ các tìm kiếm phức tạp trên nhiều loại tài liệu. + +## Yêu cầu trước +- **JDK 8+** đã được cài đặt. +- **Maven** để quản lý phụ thuộc. +- Kiến thức cơ bản về Java (xử lý tệp, lớp). + +## Cài đặt GroupDocs.Search cho Java + +Thêm kho và phụ thuộc vào file `pom.xml` của bạn: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +Bạn cũng có thể tải thư viện trực tiếp từ trang phát hành chính thức: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Khởi tạo chỉ mục + +```java +import com.groupdocs.search.Index; + +public class SearchSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; + Index index = new Index(indexFolder); + + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Cách quản lý mật khẩu tài liệu Java? + +### 1. Định nghĩa thư mục chỉ mục và tạo chỉ mục +```java +String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index"; +Index index = new Index(indexFolder); +``` + +### 2. Xóa các mật khẩu hiện có (nếu có) +```java +if (index.getDictionaries().getDocumentPasswords().getCount() > 0) { + index.getDictionaries().getDocumentPasswords().clear(); +} +``` + +### 3. Thêm mật khẩu cho một tài liệu cụ thể +```java +String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath(); +index.getDictionaries().getDocumentPasswords().add(documentPath, "123456"); +``` + +### 4. Truy xuất và xóa mật khẩu +```java +if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) { + String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath); + index.getDictionaries().getDocumentPasswords().remove(documentPath); +} +``` + +### 5. Thêm mật khẩu cho nhiều tài liệu +```java +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456"); +index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456"); +``` + +## Cách lập chỉ mục tài liệu có mật khẩu? +```java +String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; +index.add(documentsFolder); +``` + +## Cách tìm kiếm trên nhiều tài liệu? +```java +String searchQuery = "ipsum OR increasing"; +SearchResult searchResult = index.search(searchQuery); +``` + +## Ứng dụng thực tiễn +- **Quản lý tài liệu doanh nghiệp** – lưu trữ an toàn, có thể tìm kiếm. +- **Nền tảng quản lý nội dung** – truy xuất nhanh các tài sản được bảo vệ. +- **Kho lưu trữ tài liệu pháp lý** – duy trì tính bảo mật đồng thời cho phép tìm kiếm toàn văn. + +## Các cân nhắc về hiệu năng +- **Lập chỉ mục song song** – sử dụng nhiều luồng cho các lô dữ liệu lớn. +- **Giám sát bộ nhớ** – theo dõi heap JVM khi nhập khẩu số lượng lớn. +- **Bảo trì chỉ mục định kỳ** – tái lập chỉ mục khi tệp thay đổi hoặc mật khẩu được cập nhật. + +## Kết luận +Bây giờ bạn đã biết cách **quản lý mật khẩu tài liệu Java** với GroupDocs.Search, tạo các chỉ mục mạnh mẽ và thực hiện **tìm kiếm trên nhiều tài liệu** hiệu quả. Khi tích hợp các bước này vào ứng dụng của bạn, bạn sẽ cung cấp trải nghiệm tìm kiếm an toàn, nhanh chóng và có khả năng mở rộng. + +**Bước tiếp theo** +- Thử các toán tử truy vấn nâng cao (wildcards, fuzzy search). +- Khám phá lập chỉ mục gia tăng cho các cập nhật thời gian thực. +- Kết hợp với các sản phẩm GroupDocs khác để chuyển đổi PDF hoặc chú thích. + +## Câu hỏi thường gặp + +**H: Tôi có thể lập chỉ mục một khối lượng lớn tài liệu không?** +Đ: Có, GroupDocs.Search được thiết kế để xử lý các bộ sưu tập quy mô lớn một cách hiệu quả. + +**H: Có thể cập nhật chỉ mục hiện có với các tài liệu mới không?** +Đ: Chắc chắn! Bạn có thể thêm hoặc xóa tài liệu khỏi chỉ mục khi cần. + +**H: Làm sao để đảm bảo an toàn cho dữ liệu đã lập chỉ mục?** +Đ: Sử dụng từ điển mật khẩu tài liệu và lưu chỉ mục trong thư mục được bảo vệ. + +**H: GroupDocs.Search có hỗ trợ các định dạng tệp khác nhau không?** +Đ: Có, nó hỗ trợ PDF, Word, Excel và nhiều định dạng phổ biến khác. + +**H: Nếu gặp vấn đề về hiệu năng khi lập chỉ mục thì phải làm gì?** +Đ: Xem xét bật xử lý song song, tăng kích thước heap hoặc tinh chỉnh các thiết lập chỉ mục. + +--- + +**Cập nhật lần cuối:** 2025-12-29 +**Đã kiểm tra với:** GroupDocs.Search 25.4 cho Java +**Tác giả:** GroupDocs + +**Tài nguyên** +- [Documentation](https://docs.groupdocs.com/search/java/) +- [API Reference](https://reference.groupdocs.com/search/java) +- [Download GroupDocs.Search for Java](https://releases.groupdocs.com/search/java/) +- [GitHub Repository](https://github.com/groupdocs-search/GroupDocs.Search-for-Java) \ No newline at end of file diff --git a/content/vietnamese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md b/content/vietnamese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md new file mode 100644 index 00000000..1c1608e6 --- /dev/null +++ b/content/vietnamese/java/indexing/efficient-document-indexing-search-groupdocs-java/_index.md @@ -0,0 +1,250 @@ +--- +date: '2025-12-29' +description: Tìm hiểu cách lập chỉ mục tài liệu Java và tạo chỉ mục tìm kiếm với GroupDocs.Search + cho Java. Hướng dẫn này bao gồm cài đặt, lập chỉ mục, tìm kiếm và quản lý tài liệu + một cách hiệu quả. +keywords: +- GroupDocs.Search Java +- document indexing +- Java document search +title: Cách lập chỉ mục tài liệu Java với GroupDocs.Search – Tìm kiếm hiệu quả +type: docs +url: /vi/java/indexing/efficient-document-indexing-search-groupdocs-java/ +weight: 1 +--- + +# Cách lập chỉ mục tài liệu Java với GroupDocs.Search – Tìm kiếm hiệu quả + +## Giới thiệu + +Bạn có cảm thấy choáng ngợp trước một lượng tài liệu khổng lồ và tự hỏi **cách lập chỉ mục java** nhanh chóng? Nhiều doanh nghiệp và cá nhân gặp phải thách thức này hàng ngày. **GroupDocs.Search for Java** cung cấp giải pháp hiệu quả để tối ưu hoá việc tìm kiếm tài liệu, làm cho quá trình trở nên nhanh hơn và dễ quản lý hơn. + +Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng GroupDocs.Search for Java để tạo một kho lưu trữ đã được lập chỉ mục cho các tài liệu của bạn. Bạn sẽ học cách tải tài liệu từ hệ thống tệp, thực hiện tìm kiếm, quản lý việc xóa, và truy xuất dữ liệu đã lập chỉ mục một cách hiệu quả và mở rộng. + +**Bạn sẽ học được:** +- Cài đặt và cấu hình GroupDocs.Search for Java. +- **Tạo chỉ mục tìm kiếm** và lập chỉ mục tài liệu từ luồng. +- Tải tài liệu từ hệ thống tệp. +- **Thực hiện tìm kiếm từ khóa** trên chỉ mục của bạn. +- **Cách xóa chỉ mục** cho các tài liệu cụ thể. +- Truy xuất các tài liệu đã lập chỉ mục sau khi xóa. + +Sẵn sàng cách mạng hoá cách bạn quản lý tìm kiếm tài liệu? Hãy bắt đầu với các yêu cầu tiên quyết! + +## Câu trả lời nhanh +- **Mục đích chính là gì?** Lập chỉ mục và tìm kiếm tài liệu Java một cách hiệu quả. +- **Thư viện nào được yêu cầu?** GroupDocs.Search for Java (v25.4+). +- **Có cần giấy phép không?** Có bản dùng thử miễn phí hoặc giấy phép tạm thời; giấy phép vĩnh viễn cần thiết cho môi trường sản xuất. +- **Có thể xóa tài liệu khỏi chỉ mục không?** Có, bằng cách sử dụng phương thức `delete` với các khóa tài liệu. +- **Apache Commons IO có bắt buộc không?** Được khuyến nghị cho các tiện ích xử lý tệp. + +## “cách lập chỉ mục java” là gì? +Lập chỉ mục tài liệu Java có nghĩa là tạo một cấu trúc dữ liệu có thể tìm kiếm (chỉ mục) ánh xạ nội dung tài liệu tới các thuật ngữ tìm kiếm, cho phép truy xuất nhanh các tệp liên quan dựa trên truy vấn từ khóa. + +## Tại sao nên sử dụng GroupDocs.Search for Java? +- **Tốc độ:** Thuật toán được tối ưu mang lại kết quả truy vấn nhanh ngay cả với bộ sưu tập lớn. +- **Khả năng mở rộng:** Xử lý hàng nghìn tài liệu mà không làm giảm hiệu năng. +- **Linh hoạt:** Hỗ trợ nhiều định dạng tệp và cung cấp tải lười (lazy loading) cho các tệp lớn. +- **Dễ tích hợp:** Cài đặt Maven đơn giản và API trực quan. + +## Yêu cầu tiên quyết + +Trước khi bắt đầu, hãy chắc chắn bạn đã có những thứ sau: + +### Thư viện và phụ thuộc cần thiết +- **GroupDocs.Search for Java**: Đảm bảo đã cài đặt phiên bản 25.4 trở lên. +- **Apache Commons IO**: Cần cho các tiện ích xử lý tệp. + +### Yêu cầu môi trường +- Java Development Kit (JDK) 8 hoặc cao hơn. +- Môi trường phát triển tích hợp (IDE) như IntelliJ IDEA hoặc Eclipse. + +### Kiến thức nền +- Hiểu biết cơ bản về lập trình Java và các khái niệm hướng đối tượng. +- Quen thuộc với Maven để quản lý phụ thuộc là lợi thế nhưng không bắt buộc. + +## Cài đặt GroupDocs.Search for Java + +Cài đặt môi trường dự án với GroupDocs.Search bao gồm các bước sau bằng Maven: + +**Cấu hình Maven:** +Thêm repository và dependency sau vào tệp `pom.xml` của bạn: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +**Tải trực tiếp:** +Hoặc tải phiên bản mới nhất trực tiếp từ [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +### Các bước lấy giấy phép +- **Bản dùng thử:** Bắt đầu với bản dùng thử để kiểm tra tính năng. +- **Giấy phép tạm thời:** Đăng ký giấy phép tạm thời để khám phá toàn bộ tính năng mà không bị giới hạn. +- **Mua bản quyền:** Xem xét mua giấy phép nếu đáp ứng nhu cầu của bạn. + +**Khởi tạo và cài đặt cơ bản:** + +Khi môi trường đã sẵn sàng, khởi tạo GroupDocs.Search như sau: + +```java +import com.groupdocs.search.*; + +public class DocumentIndexing { + public static void main(String[] args) { + Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments"); + System.out.println("GroupDocs.Search initialized successfully."); + } +} +``` + +## Cách lập chỉ mục tài liệu Java bằng GroupDocs.Search + +### Tạo và lập chỉ mục tài liệu + +**Tổng quan:** Học cách tạo một chỉ mục trong thư mục chỉ định và thêm tài liệu từ luồng, giúp **tạo chỉ mục tìm kiếm** trở nên dễ dàng. + +#### Bước 1: Tạo chỉ mục +```java +Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true); +``` +- **Tham số:** Tham số đầu tiên là đường dẫn thư mục lưu trữ chỉ mục. Tham số boolean thứ hai bật tính năng cập nhật tự động nếu chỉ mục đã tồn tại. + +#### Bước 2: Tải và thêm tài liệu từ luồng +```java +String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx"; +DocumentLoader documentLoader = new DocumentLoader(filePath); +Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader); +Document[] documents = new Document[]{document}; +index.add(documents, new IndexingOptions()); +``` +- **Giải thích:** Ở đây, bạn tạo một `DocumentLoader` để đọc tệp và chuẩn bị cho việc lập chỉ mục. Phương thức `createLazy` được dùng để xử lý các tệp lớn một cách hiệu quả. + +### Tải tài liệu từ hệ thống tệp + +**Tổng quan:** Triển khai một loader tùy chỉnh đọc tài liệu trực tiếp từ hệ thống tệp của bạn bằng các tiện ích của Apache Commons IO. + +#### Bước 1: Định nghĩa Document Loader +```java +class DocumentLoader { + private final String filePath; + private final String documentKey; + + public DocumentLoader(String filePath) { + this.filePath = filePath; + documentKey = FilenameUtils.getName(filePath); + } + + public String getDocumentKey() { return documentKey; } + + public Document loadDocument() throws IOException { + Path path = Paths.get(filePath); + byte[] buffer = Files.readAllBytes(path); + ByteArrayInputStream stream = new ByteArrayInputStream(buffer); + return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream); + } +} +``` +- **Chi tiết:** Lớp này đọc tệp vào mảng byte và tạo một đối tượng `Document` từ đó. + +### Thực hiện tìm kiếm từ khóa trong chỉ mục + +**Tổng quan:** Thực hiện các thao tác tìm kiếm trên tài liệu đã lập chỉ mục để nhanh chóng truy xuất thông tin liên quan. + +#### Bước 1: Thực hiện tìm kiếm +```java +String query = "moment"; +SearchResult searchResult1 = index.search(query); +``` +- **Giải thích:** Sử dụng phương thức `search` với truy vấn văn bản đơn giản để lấy kết quả từ dữ liệu đã lập chỉ mục. Cách tiếp cận này hiệu quả cho các kịch bản **java document search**. + +### Cách xóa các mục trong chỉ mục + +**Tổng quan:** Quản lý chỉ mục bằng cách xóa các tài liệu cụ thể dựa trên khóa của chúng. + +#### Bước 1: Xóa tài liệu +```java +String[] documentKeys = new String[]{documentLoader.getDocumentKey()}; +DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys); +``` +- **Tham số:** Truyền mảng các khóa tài liệu bạn muốn loại bỏ khỏi chỉ mục. `UpdateOptions` cho phép thiết lập các chiến lược xóa linh hoạt. + +### Truy xuất tài liệu đã lập chỉ mục sau khi xóa + +**Tổng quan:** Sau khi xóa tài liệu, truy xuất danh sách các tệp còn lại trong chỉ mục để đảm bảo tính toàn vẹn dữ liệu. + +#### Bước 1: Lấy danh sách tài liệu còn lại +```java +DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments(); +``` +- **Giải thích:** Bước này giúp xác nhận trạng thái hiện tại của chỉ mục sau bất kỳ thao tác xóa nào. + +## Ứng dụng thực tiễn + +GroupDocs.Search for Java đa năng, cung cấp nhiều trường hợp sử dụng như: + +1. **Quản lý tài liệu doanh nghiệp:** Tìm kiếm nhanh qua các tài liệu công ty để nâng cao năng suất. +2. **Phân tích tài liệu pháp lý:** Lọc nhanh các hồ sơ vụ án và văn bản pháp luật để tìm ra các tiền lệ liên quan. +3. **Hệ thống danh mục thư viện:** Lập chỉ mục và quản lý bộ sưu tập sách, bản thảo lớn để truy cập dễ dàng hơn. + +## Các lưu ý về hiệu năng + +Để đạt hiệu năng tối ưu: + +- **Tối ưu chỉ mục:** Thường xuyên cập nhật chỉ mục để phản ánh các thay đổi mới nhất của tài liệu. +- **Quản lý bộ nhớ:** Sử dụng cơ chế thu gom rác của Java một cách hiệu quả bằng cách quản lý các thao tác tiêu tốn tài nguyên. +- **Khả năng mở rộng:** Đảm bảo chiến lược lập chỉ mục của bạn có thể xử lý khối lượng dữ liệu lớn mà không làm giảm hiệu năng. + +## Các vấn đề thường gặp và giải pháp + +| Vấn đề | Nguyên nhân | Giải pháp | +|-------|-------------|----------| +| **Không có kết quả trả về** | Các từ truy vấn không được lập chỉ mục hoặc bị lọc bởi danh sách stop‑words | Kiểm tra `IndexingOptions` và điều chỉnh danh sách stop‑words | +| **Lỗi out‑of‑memory** | Tải các tệp rất lớn mà không dùng lazy loading | Sử dụng `Document.createLazy` hoặc tăng kích thước heap JVM | +| **Tài liệu đã xóa vẫn xuất hiện** | Chỉ mục không được làm mới sau khi xóa | Gọi `index.optimize()` hoặc mở lại chỉ mục | + +## Câu hỏi thường gặp + +**Q: Tôi có thể lập chỉ mục đồng thời PDF, DOCX và PPTX không?** +A: Có, GroupDocs.Search hỗ trợ đa dạng định dạng ngay từ đầu. + +**Q: “cách xóa chỉ mục” hoạt động như thế nào ở mức độ nội bộ?** +A: Phương thức `delete` loại bỏ các mục dựa trên khóa tài liệu và cập nhật danh sách posting nội bộ để giữ cho chỉ mục nhất quán. + +**Q: Có cách nào theo dõi kích thước chỉ mục không?** +A: Sử dụng `index.getStatistics()` để lấy thông tin về số lượng tài liệu và dung lượng lưu trữ. + +**Q: Tôi có cần xây dựng lại toàn bộ chỉ mục sau mỗi lần xóa không?** +A: Không, thao tác `delete` cập nhật chỉ mục một cách tăng dần, giữ lại dữ liệu hiện có. + +**Q: Nếu cần tái‑lập chỉ mục toàn bộ tài liệu sau khi thay đổi schema thì sao?** +A: Tạo một instance `Index` mới với đường dẫn thư mục khác và thêm lại toàn bộ tài liệu. + +## Kết luận + +Bây giờ bạn đã nắm vững **cách lập chỉ mục java** và thực hiện tìm kiếm nhanh chóng bằng GroupDocs.Search for Java. Thư viện mạnh mẽ này có thể biến đổi cách bạn quản lý và truy xuất thông tin từ các bộ sưu tập tài liệu lớn, trở thành công cụ không thể thiếu cho bất kỳ tổ chức nào. + +**Bước tiếp theo:** +- Thử nghiệm với các loại tài liệu khác nhau và các truy vấn phức tạp. +- Khám phá các tính năng nâng cao như tìm kiếm phân lớp (faceted search), lập chỉ mục siêu dữ liệu và bộ phân tích tùy chỉnh. + +Sẵn sàng bắt đầu hành trình lập chỉ mục của mình? Áp dụng các kỹ thuật này ngay hôm nay và trải nghiệm việc truy xuất tài liệu nhanh hơn, chính xác hơn! + +--- + +**Cập nhật lần cuối:** 2025-12-29 +**Kiểm tra với:** GroupDocs.Search Java 25.4 +**Tác giả:** GroupDocs \ No newline at end of file diff --git a/content/vietnamese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md b/content/vietnamese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md new file mode 100644 index 00000000..c2234e53 --- /dev/null +++ b/content/vietnamese/java/indexing/groupdocs-search-java-advanced-indexing/_index.md @@ -0,0 +1,279 @@ +--- +date: '2025-12-29' +description: Tìm hiểu cách tối ưu hiệu suất tìm kiếm bằng cách sử dụng các tính năng + lập chỉ mục nâng cao của GroupDocs.Search cho Java, bao gồm hủy bỏ, các hoạt động + bất đồng bộ, đa luồng và tùy chỉnh siêu dữ liệu. +keywords: +- GroupDocs.Search Java +- advanced indexing features +- asynchronous operations +title: Tối ưu hiệu suất tìm kiếm với các kỹ thuật lập chỉ mục nâng cao trong GroupDocs.Search + cho Java +type: docs +url: /vi/java/indexing/groupdocs-search-java-advanced-indexing/ +weight: 1 +--- + +# Tối ưu hiệu suất tìm kiếm với các kỹ thuật lập chỉ mục nâng cao trong GroupDocs.Search cho Java + +Trong môi trường kỹ thuật số ngày nay với tốc độ nhanh chóng, **tối ưu hiệu suất tìm kiếm** là điều cần thiết để cung cấp kết quả ngay lập tức cho người dùng. Dù bạn đang xây dựng một công cụ tìm kiếm tùy chỉnh hay cải thiện một hệ thống quản lý tài liệu hiện có, chiến lược lập chỉ mục phù hợp có thể giảm đáng kể độ trễ và tiêu thụ tài nguyên. Trong hướng dẫn này, chúng ta sẽ khám phá các tính năng mạnh mẽ nhất của GroupDocs.Search cho Java—hủy bỏ, lập chỉ mục bất đồng bộ, đa luồng và tùy chỉnh siêu dữ liệu—để bạn có thể **add documents index** nhanh hơn và hiệu quả hơn. + +**Bạn sẽ học được** + +- Cách hủy một thao tác lập chỉ mục sau một khoảng thời gian xác định +- Thực hiện các thao tác lập chỉ mục bất đồng bộ và xử lý các thay đổi trạng thái +- Cấu hình đa luồng để lập chỉ mục nhanh hơn +- Tùy chỉnh các tùy chọn lập chỉ mục siêu dữ liệu + +Hãy chắc chắn rằng bạn đã có mọi thứ cần thiết trước khi chúng ta đi vào phần mã. + +## Các yêu cầu trước + +- **Thư viện GroupDocs.Search** – phiên bản 25.4 hoặc mới hơn. +- **Môi trường phát triển Java** – JDK 8 hoặc cao hơn được khuyến nghị. +- Kiến thức cơ bản về Java và khái niệm lập chỉ mục. + +### Cài đặt GroupDocs.Search cho Java + +#### Cài đặt qua Maven + +Thêm repository và dependency vào tệp `pom.xml` của bạn: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/search/java/ + + + + + + com.groupdocs + groupdocs-search + 25.4 + + +``` + +#### Tải trực tiếp + +Hoặc tải JAR mới nhất từ [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/). + +**Mua giấy phép** – Bắt đầu với bản dùng thử miễn phí hoặc yêu cầu giấy phép tạm thời để mở khóa đầy đủ các tính năng. + +### Khởi tạo và cấu hình cơ bản + +```java +import com.groupdocs.search.*; + +public class IndexSetup { + public static void main(String[] args) { + String indexFolder = "YOUR_OUTPUT_DIRECTORY\\Index"; + + // Create an instance of the Index class + Index index = new Index(indexFolder); + System.out.println("Index created at: " + indexFolder); + } +} +``` + +## Câu trả lời nhanh +- **Hủy bỏ làm gì?** Dừng việc lập chỉ mục sau một thời gian nhất định để giải phóng tài nguyên. +- **Tôi có thể lập chỉ mục tài liệu một cách bất đồng bộ không?** Có – đặt `options.setAsync(true)`. +- **Tôi có thể sử dụng bao nhiêu luồng?** Bất kỳ số nguyên dương nào; giá trị thường dùng là 2‑4 cho hầu hết các máy chủ. +- **Lập chỉ mục siêu dữ liệu có phải là tùy chọn không?** Hoàn toàn có – bạn có thể bật hoặc tinh chỉnh nó cho từng trường. +- **Tôi có cần giấy phép cho các tính năng này không?** Bản dùng thử đủ cho việc thử nghiệm; giấy phép đầy đủ cần cho môi trường sản xuất. + +## “Tối ưu hiệu suất tìm kiếm” trong ngữ cảnh này là gì? + +Tối ưu hiệu suất tìm kiếm có nghĩa là cấu hình quá trình lập chỉ mục sao cho tiêu thụ đúng mức CPU, bộ nhớ và thời gian, đồng thời cung cấp các kết quả liên quan nhất ngay lập tức. Bằng cách kiểm soát hủy bỏ, thực thi bất đồng bộ, đa luồng và xử lý siêu dữ liệu, bạn trực tiếp ảnh hưởng đến tốc độ **add documents index** và phản hồi các truy vấn. + +## Tại sao nên sử dụng các tính năng lập chỉ mục nâng cao? + +- **Giảm độ trễ** – Lập chỉ mục bất đồng bộ và đa luồng giúp ứng dụng của bạn luôn phản hồi nhanh. +- **Quản lý tài nguyên tốt hơn** – Hủy bỏ ngăn ngừa các tiến trình chạy quá lâu. +- **Tối ưu độ liên quan của tìm kiếm** – Các tùy chọn siêu dữ liệu cho phép bạn hiển thị thông tin quan trọng nhất. + +## Hướng dẫn triển khai + +### Thuộc tính Cancellation + +**Tổng quan** – Hủy lập chỉ mục sau một khoảng thời gian xác định để tránh tiêu thụ tài nguyên quá mức. + +#### Bước 1: Thiết lập môi trường + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\CancellationProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Bước 2: Tạo tùy chọn lập chỉ mục với hủy bỏ + +```java +// Create an instance of Index and IndexingOptions +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Set a cancellation object +options.setCancellation(new Cancellation()); +options.getCancellation().cancelAfter(3000); + +// Add documents to the index with these options +index.add(documentFolder, options); +``` + +**Các điểm chính** + +- `setCancellation()` kích hoạt tính năng. +- `cancelAfter(int milliseconds)` định nghĩa thời gian chờ (3 giây trong ví dụ này). + +### Thuộc tính Asynchronous + +**Tổng quan** – Chạy lập chỉ mục trên một luồng nền và lắng nghe các thay đổi trạng thái. + +#### Bước 1: Thiết lập môi trường + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.events.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IsAsyncProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Bước 2: Đăng ký sự kiện Status Changed + +```java +Index index = new Index(indexFolder); + +// Subscribe to the status changed event +index.getEvents().StatusChanged.add(new EventHandler() { + @Override + public void invoke(Object sender, BaseIndexEventArgs args) { + if (args.getStatus() == IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) { + System.out.println("Operation completed with status: " + args.getStatus()); + } + } +}); +``` + +#### Bước 3: Cấu hình tùy chọn bất đồng bộ + +```java +IndexingOptions options = new IndexingOptions(); +options.setAsync(true); + +index.add(documentFolder, options); +``` + +### Thuộc tính Threads + +**Tổng quan** – Tăng tốc độ lập chỉ mục bằng cách tận dụng nhiều lõi CPU. + +#### Bước 1: Thiết lập môi trường + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\ThreadsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Bước 2: Cấu hình đa luồng + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Specify 2 threads for the operation +options.setThreads(2); + +index.add(documentFolder, options); +``` + +### Thuộc tính Metadata Indexing Options + +**Tổng quan** – Tinh chỉnh các siêu dữ liệu tài liệu nào sẽ được lập chỉ mục và cách chúng được lưu trữ. + +#### Bước 1: Thiết lập môi trường + +```java +import com.groupdocs.search.*; +import com.groupdocs.search.options.*; + +String indexFolder = "YOUR_OUTPUT_DIRECTORY\\MetadataIndexingOptionsProperty"; +String documentFolder = "YOUR_DOCUMENT_DIRECTORY"; +``` + +#### Bước 2: Cấu hình tùy chọn siêu dữ liệu + +```java +Index index = new Index(indexFolder); +IndexingOptions options = new IndexingOptions(); + +// Customize metadata indexing options +options.getMetadataIndexingOptions().setDefaultFieldName("default"); +options.getMetadataIndexingOptions().setSeparatorInCompoundName("\\"); +options.getMetadataIndexingOptions().setMaxBytesToIndexField(10); +options.getMetadataIndexingOptions().setMaxIntsToIndexField(10); +options.getMetadataIndexingOptions().setMaxLongsToIndexField(10); +options.getMetadataIndexingOptions().setMaxDoublesToIndexField(10); + +index.add(documentFolder, options); +``` + +## Ứng dụng thực tiễn + +1. **Hệ thống quản lý tài liệu** – Sử dụng lập chỉ mục bất đồng bộ để giao diện người dùng luôn phản hồi nhanh khi xử lý các lô dữ liệu lớn ở nền. +2. **Công cụ tìm kiếm nội dung** – Áp dụng hủy bỏ để ngăn các công việc chạy lâu làm nghẽn tài nguyên máy chủ trong giờ cao điểm. +3. **Đường ống nhập liệu quy mô lớn** – Tận dụng đa luồng để **add documents index** ở quy mô lớn, giảm thời gian xử lý một cách đáng kể. + +## Các cân nhắc về hiệu suất + +- **Quản lý luồng** – Giám sát mức sử dụng CPU; quá nhiều luồng có thể gây overhead do chuyển đổi ngữ cảnh. +- **Dấu chân bộ nhớ** – Giới hạn siêu dữ liệu (ví dụ, `setMaxBytesToIndexField`) giúp duy trì mức tiêu thụ bộ nhớ ổn định. +- **Garbage Collection** – Sử dụng các tham số JVM phù hợp (`-Xmx`, `-XX:+UseG1GC`) khi lập chỉ mục các tập dữ liệu khổng lồ. + +## Các vấn đề thường gặp và giải pháp + +| Triệu chứng | Nguyên nhân khả dĩ | Giải pháp | +|------------|----------------------|-----------| +| Lập chỉ mục không bao giờ kết thúc | Thời gian hủy bỏ được đặt quá ngắn | Tăng giá trị `cancelAfter` hoặc loại bỏ hủy bỏ cho các công việc dài | +| Không có cập nhật trạng thái trong chế độ bất đồng bộ | Trình xử lý sự kiện không được gắn đúng | Đảm bảo gọi `index.getEvents().StatusChanged.add(...)` trước khi thực hiện `index.add` | +| Lỗi out‑of‑memory | Quá nhiều luồng hoặc giới hạn siêu dữ liệu quá cao | Giảm `options.setThreads` và hạ giới hạn trường siêu dữ liệu | +| Thiếu siêu dữ liệu trong kết quả | Lập chỉ mục siêu dữ liệu bị tắt | Kiểm tra `options.getMetadataIndexingOptions()` đã được cấu hình và không được đặt để bỏ qua các trường | + +## Câu hỏi thường gặp + +**Hỏi: Làm sao để lấy giấy phép tạm thời cho GroupDocs.Search?** +Đáp: Truy cập [trang giấy phép tạm thời của GroupDocs](https://purchase.groupdocs.com/temporary-license/). + +**Hỏi: Tôi có thể hủy một thao tác lập chỉ mục giữa chừng không?** +Đáp: Có – sử dụng thuộc tính hủy bỏ với `cancelAfter()` hoặc gọi `Cancellation.cancel()` theo chương trình. + +**Hỏi: Một số trường hợp sử dụng nào cho lập chỉ mục bất đồng bộ?** +Đáp: Truy xuất tài liệu thời gian thực, xử lý batch nền, và các ứng dụng cần giao diện người dùng phản hồi nhanh đều hưởng lợi từ lập chỉ mục bất đồng bộ. + +**Hỏi: Có an toàn khi tăng số lượng luồng trên máy chủ chia sẻ không?** +Đáp: Tăng dần và giám sát tải CPU; trên môi trường chia sẻ nặng, nên giữ số luồng ở mức vừa phải (2‑4). + +**Hỏi: Lập chỉ mục siêu dữ liệu ảnh hưởng như thế nào đến độ liên quan của tìm kiếm?** +Đáp: Siêu dữ liệu được lập chỉ mục đúng (tác giả, ngày tạo, thẻ) có thể được gán trọng số cao hơn trong truy vấn, nâng cao độ chính xác của kết quả. + +## Kết luận + +Bằng cách khai thác các tính năng nâng cao của GroupDocs.Search cho Java, bạn sẽ **tối ưu hiệu suất tìm kiếm** trong nhiều kịch bản—từ việc nhập liệu tài liệu nhanh chóng đến kiểm soát chi tiết siêu dữ liệu. Thử nghiệm với các cấu hình khác nhau, giám sát việc sử dụng tài nguyên và điều chỉnh các thiết lập cho khối lượng công việc cụ thể của bạn để đạt được kết quả tốt nhất. + +--- + +**Cập nhật lần cuối:** 2025-12-29 +**Được kiểm tra với:** GroupDocs.Search 25.4 cho Java +**Tác giả:** GroupDocs + +--- \ No newline at end of file