Menguasai filter ekstensi file java dengan GroupDocs.Search
Mengelola repositori dokumen yang terus bertambah dapat dengan cepat menjadi membebani. Baik Anda perlu mengindeks hanya tipe dokumen tertentu atau mengecualikan file yang tidak relevan, java file extension filter memberi Anda kontrol yang halus atas apa yang diproses. Dalam panduan ini kami akan menjelaskan cara menyiapkan GroupDocs.Search untuk Java dan menunjukkan cara menggabungkan penyaringan ekstensi file dengan operator logika AND, OR, dan NOT, serta filter rentang tanggal dan jalur.
Jawaban Cepat
- Apa itu java file extension filter? Sebuah konfigurasi yang memberi tahu GroupDocs.Search ekstensi file mana yang harus disertakan atau dikecualikan selama proses pengindeksan.
- Library mana yang menyediakan fitur ini? GroupDocs.Search for Java.
- Apakah saya memerlukan lisensi? Versi percobaan gratis dapat digunakan untuk evaluasi; lisensi penuh diperlukan untuk produksi.
- Bisakah saya menggabungkan filter? Ya – Anda dapat menggabungkan filter ekstensi, tanggal, ukuran, dan jalur dengan logika AND, OR, NOT.
- Apakah kompatibel dengan Maven? Tentu – tambahkan dependensi GroupDocs.Search ke
pom.xmlAnda.
Pendahuluan
Kesulitan mengelola repositori file yang terus bertambah secara efisien? Baik Anda perlu mengatur dokumen berdasarkan tipe atau menyaring file yang tidak diperlukan selama pengindeksan, tugas ini dapat menjadi menantang tanpa alat yang tepat. GroupDocs.Search for Java adalah pustaka pencarian canggih yang menyederhanakan tantangan ini melalui kemampuan penyaringan file yang kuat. Tutorial ini akan membimbing Anda dalam menerapkan teknik Penyaringan File .NET menggunakan GroupDocs.Search, dengan fokus pada Filter Logika AND, OR, dan NOT.
Apa yang Akan Anda Pelajari
- Menyiapkan GroupDocs.Search di lingkungan Java Anda
- Mengimplementasikan berbagai filter: Ekstensi File, Operator Logika (AND, OR, NOT), Waktu Pembuatan, Waktu Modifikasi, Jalur File, dan Panjang
- Aplikasi dunia nyata dari filter ini untuk manajemen dokumen yang efisien
- Tips optimalisasi kinerja untuk tugas pengindeksan skala besar
Siap membuka potensi penuh penyaringan file di Java? Mari kita selami prasyaratnya terlebih dahulu.
Prasyarat
Sebelum kita mulai, pastikan Anda memiliki hal berikut:
Perpustakaan dan Dependensi yang Diperlukan
- GroupDocs.Search for Java: Versi 25.4 atau lebih baru
- Java Development Kit (JDK): Pastikan Anda memiliki versi yang kompatibel terpasang di sistem Anda
Penyiapan Lingkungan
- Integrated Development Environment (IDE): Gunakan IntelliJ IDEA, Eclipse, atau IDE pilihan lain yang mendukung proyek Maven.
Prasyarat Pengetahuan
- Pemahaman dasar pemrograman Java
- Familiaritas dengan operasi I/O file di Java
- Pemahaman tentang ekspresi reguler dan manipulasi tanggal‑waktu
Menyiapkan GroupDocs.Search untuk Java
Untuk mulai menggunakan GroupDocs.Search, Anda perlu menyertakannya sebagai dependensi dalam proyek Anda. Berikut caranya:
Konfigurasi Maven
Tambahkan konfigurasi repositori dan dependensi berikut ke file pom.xml Anda:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
Unduhan Langsung
Sebagai alternatif, unduh versi terbaru langsung dari GroupDocs.Search for Java releases.
Akuisisi Lisensi
- Free Trial: Mulailah dengan percobaan gratis untuk menjelajahi fitur GroupDocs.Search.
- Temporary License: Ajukan lisensi sementara untuk mengakses semua fungsi tanpa batasan.
- Purchase: Untuk penggunaan jangka panjang, beli langganan.
Inisialisasi dan Penyiapan Dasar
Setelah pustaka ditambahkan, inisialisasi lingkungan pengindeksan Anda:
import com.groupdocs.search.*;
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);
Panduan Implementasi
Sekarang, mari kita jelajahi cara mengimplementasikan berbagai fitur penyaringan file menggunakan GroupDocs.Search.
Penyaringan Ekstensi File
Saring file berdasarkan ekstensi mereka selama pengindeksan. Fitur ini berguna untuk memproses hanya tipe dokumen tertentu seperti FB2, EPUB, dan TXT.
Gambaran Umum
Saring dokumen berdasarkan ekstensi file menggunakan konfigurasi filter khusus.
Langkah Implementasi
Create Filter:
DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt"); IndexSettings settings = new IndexSettings(); settings.setDocumentFilter(filter);Initialize Index and Add Documents:
Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings); index.add("YOUR_DOCUMENT_DIRECTORY");
Filter NOT Logika
Kecualikan ekstensi file tertentu selama pengindeksan, seperti HTM, HTML, dan PDF.
Langkah Implementasi
Create Exclusion Filter:
DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf"); DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);Apply to Index Settings:
IndexSettings settingsNot = new IndexSettings(); settingsNot.setDocumentFilter(invertedFilter);Add Documents:
Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot); indexNot.add("YOUR_DOCUMENT_DIRECTORY");
Filter AND Logika
Gabungkan beberapa kriteria untuk menyertakan hanya file yang memenuhi semua kondisi yang ditentukan.
Gambaran Umum
Gunakan operasi AND logika untuk menyaring file berdasarkan waktu pembuatan, ekstensi file, dan panjang.
Langkah Implementasi
Define Filters:
DocumentFilter filter1 = DocumentFilter.createCreationTimeRange(Utils.createDate(2015, 1, 1), Utils.createDate(2016, 1, 1)); DocumentFilter filter2 = DocumentFilter.createFileExtension(".txt"); DocumentFilter filter3 = DocumentFilter.createFileLengthUpperBound(8 * 1024 * 1024);Combine Filters:
DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3); IndexSettings settingsAnd = new IndexSettings(); settingsAnd.setDocumentFilter(finalFilterAnd);Index Documents:
Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd); indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
Filter OR Logika
Sertakan file yang memenuhi salah satu dari kriteria yang ditentukan menggunakan operasi OR logika.
Langkah Implementasi
Define Filters:
DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt"); DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);Combine Filters with Logical Conditions:
DocumentFilter bound5Filter = DocumentFilter.createFileLengthUpperBound(5 * 1024 * 1024); DocumentFilter bound10Filter = DocumentFilter.createFileLengthUpperBound(10 * 1024 * 1024); DocumentFilter txtSizeFilter = DocumentFilter.createAnd(txtFilter, bound5Filter); DocumentFilter notTxtSizeFilter = DocumentFilter.createAnd(notTxtFilter, bound10Filter);Finalize OR Filter:
DocumentFilter finalFilterOr = DocumentFilter.createOr(txtSizeFilter, notTxtSizeFilter); IndexSettings settingsOr = new IndexSettings(); settingsOr.setDocumentFilter(finalFilterOr); Index indexOr = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalOrFilter", settingsOr); indexOr.add("YOUR_DOCUMENT_DIRECTORY");
Filter Waktu Pembuatan
Saring file berdasarkan waktu pembuatan mereka untuk menyertakan hanya yang berada dalam rentang tanggal tertentu.
Langkah Implementasi
Define Date Range Filter:
DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15)); IndexSettings settingsCTime = new IndexSettings(); settingsCTime.setDocumentFilter(filter3CTime);Index Documents:
Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime); indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
Filter Waktu Modifikasi
Kecualikan file yang dimodifikasi setelah tanggal tertentu.
Langkah Implementasi
Define Filter:
DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15)); IndexSettings settingsMTime = new IndexSettings(); settingsMTime.setDocumentFilter(filter2MTime);Index Documents:
Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime); indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
Penyaringan Jalur File
Saring file berdasarkan jalur file mereka untuk menyertakan hanya yang berada di direktori tertentu.
Langkah Implementasi
Define File Path Filter:
DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/"); IndexSettings settingsPath = new IndexSettings(); settingsPath.setDocumentFilter(pathFilter);Initialize Index and Add Documents:
Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath); indexPath.add("YOUR_DOCUMENT_DIRECTORY");
Kesalahan Umum & Tips
- Jangan pernah mencampur jalur absolut dan relatif dalam konfigurasi filter yang sama – dapat menyebabkan pengecualian yang tidak terduga.
- Ingat untuk mereset
IndexSettingssaat Anda beralih dari satu set filter ke yang lain; jika tidak, filter sebelumnya dapat tetap aktif. - Koleksi file besar mendapat manfaat dari menggabungkan batas atas panjang dengan filter ekstensi untuk menjaga penggunaan memori tetap rendah.
Pertanyaan yang Sering Diajukan
Q: Bisakah saya mengubah kriteria filter setelah indeks dibuat?
A: Ya. Anda dapat membangun kembali indeks dengan DocumentFilter baru atau menggunakan pengindeksan inkremental dengan pengaturan yang diperbarui.
Q: Apakah java file extension filter bekerja pada arsip terkompresi (mis., ZIP)?
A: GroupDocs.Search dapat mengindeks format arsip yang didukung, tetapi filter ekstensi diterapkan pada arsip itu sendiri, bukan pada file di dalamnya. Gunakan filter bersarang jika diperlukan.
Q: Bagaimana cara saya men-debug mengapa file tertentu dikecualikan?
A: Aktifkan logging pustaka (set LoggingOptions.setEnabled(true)) dan periksa log yang dihasilkan – log tersebut melaporkan filter mana yang menolak setiap file.
Q: Apakah memungkinkan menggabungkan java file extension filter dengan filter regex khusus?
A: Tentu saja. Anda dapat membungkus filter regex di dalam DocumentFilter.createAnd() bersama filter ekstensi.
Q: Apa dampak kinerja menambahkan banyak filter?
A: Setiap filter tambahan menambah overhead kecil selama pengindeksan, tetapi manfaat pengurangan ukuran indeks biasanya melebihi biaya tersebut. Uji dengan set sampel untuk menemukan keseimbangan optimal.
Terakhir Diperbarui: 2025-12-19
Diuji Dengan: GroupDocs.Search 25.4 for Java
Penulis: GroupDocs