Fájl kiterjesztések szűrése java-val a GroupDocs.Search segítségével
Ebben az átfogó útmutatóban megtanulja, hogyan filter file extensions java szűrje a fájl kiterjesztéseket a dokumentumok indexelése során a GroupDocs.Search segítségével. A útmutató végére képes lesz csak a szükséges fájltípusokat belefoglalni, a nem kívánt formátumokat kizárni, és ezeket a szabályokat dátumtartomány- és útvonal-szűrőkkel kombinálni logikai AND, OR és NOT operátorokkal. Ez a megközelítés karcsúbb indexet eredményez, felgyorsítja a kereséseket, és segít megfelelni az adatkezelési szabályzatoknak.
Gyors válaszok
- What is the java file extension filter? Ez egy szabály, amely megmondja a GroupDocs.Search-nek, mely fájl kiterjesztéseket kell belefoglalni vagy kizárni az indexelés során.
- Which library provides this feature? GroupDocs.Search for Java.
- Do I need a license? Egy ingyenes próba a kiértékeléshez elegendő; a teljes licenc a termeléshez szükséges.
- Can I combine filters? Igen – láncolhatja a kiterjesztés, dátum, méret és útvonal szűrőket AND, OR, NOT logikával.
- Is it Maven‑compatible? Teljesen – adja hozzá a GroupDocs.Search függőséget a
pom.xml-hez.
Mi a java file extension filter?
A java file extension filter egy szabálykészlet, amely minden fájl kiterjesztését értékeli ki, mielőtt az indexelő motorhoz kerülne. Ha megadja a .txt, .pdf vagy .epub kiterjesztéseket, include files by extension vagy exclude files by extension segítségével szűkítheti az indexet és releváns keresési eredményeket érhet el.
Miért használjon file‑extension szűrést a GroupDocs.Search‑ben?
A file‑extension szűrés javítja az indexelés hatékonyságát az irreleváns formátumok kizárásával, csökkenti a tárolási igényeket, és segít megfelelni a megfelelőségi szabályoknak azáltal, hogy megakadályozza a nem kívánt tartalom indexelését. Emellett gyorsabb lekérdezési válaszokat tesz lehetővé, mivel a keresőmotor egy kisebb, relevánsabb adathalmazt dolgoz fel.
- Performance: A nem kívánt fájlok kihagyása csökkenti az I/O-t és akár 40 %-kal gyorsítja az indexelést nagy tárolók esetén.
- Storage savings: Csak a releváns dokumentumok kerülnek az indexbe, ami átlagosan 30 % lemezhasználat csökkenést eredményez.
- Compliance: Megakadályozza a bizalmas vagy nem támogatott fájltípusok véletlen indexelését.
- Flexibility: Kombinálható date range filter java funkciókkal a specifikus időszakban létrehozott vagy módosított fájlok célzásához.
Előfeltételek
Mielőtt elkezdenénk, győződjön meg róla, hogy a következőkkel rendelkezik:
Szükséges könyvtárak és függőségek
- GroupDocs.Search for Java – version 25.4 vagy újabb (támogat 60+ bemeneti formátumot).
- Java Development Kit (JDK) – bármely kompatibilis verzió (8 vagy újabb).
Fejlesztőkörnyezet beállítása
- Integrated Development Environment (IDE): IntelliJ IDEA, Eclipse vagy bármely Maven‑compatible IDE.
Tudás előfeltételek
- Alapvető Java programozás.
- Fájl I/O ismerete Java-ban.
- Reguláris kifejezések és dátum‑idő kezelés megértése.
A GroupDocs.Search beállítása Java-hoz
A GroupDocs.Search használatához hozzá kell adnia azt függőségként a projektjéhez.
Maven konfiguráció
Adja hozzá a következő tárolót és függőségkonfigurációt a pom.xml fájlhoz:
<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>
Közvetlen letöltés
Alternatívaként töltse le a legújabb verziót közvetlenül a GroupDocs.Search for Java releases oldalról.
Licenc beszerzése
- Free trial – a funkciók felfedezése költség nélkül.
- Temporary license – teljes funkcionalitás korlátozott időre.
- Purchase – állandó licenc a termelési használathoz.
Alap inicializálás és beállítás
Miután a könyvtár hozzá lett adva, inicializálja az indexelési környezetet. Az IndexSettings osztály tartalmazza az összes konfigurációs lehetőséget, beleértve a szűrőket.
import com.groupdocs.search.*;
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);
Implementációs útmutató
Az alábbiakban minden szűrőtípusra részletesen kitérünk, elmagyarázva why it matters, és lépésről‑lépésre útmutatást adunk, amelyet a projektjébe másolhat.
Fájl kiterjesztés szűrés
Szűrje a fájlokat kiterjesztésük alapján az indexelés során. Ez tökéletes, ha csak e‑könyveket (.fb2, .epub) és egyszerű szövegfájlokat (.txt) szeretne feldolgozni.
Áttekintés
DocumentFilter.createFileExtension egy fehérlistát hoz létre a kiterjesztésekből.
Implementációs lépések
Create filter – határozza meg a megtartani kívánt kiterjesztéseket.
DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt"); IndexSettings settings = new IndexSettings(); settings.setDocumentFilter(filter);Initialize index and add documents – alkalmazza a szűrőt az
IndexSettingslétrehozásakor.Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings); index.add("YOUR_DOCUMENT_DIRECTORY");
Logikai NOT szűrő
Zárjon ki bizonyos kiterjesztéseket, például weboldalakat és PDF-eket, ha azok nem szükségesek a keresési forgatókönyvéhez.
Implementációs lépések
Create exclusion filter – adja meg a kizárandó kiterjesztéseket.
DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf"); DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);Apply to index settings – kombinálja a NOT szűrőt más szabályokkal.
IndexSettings settingsNot = new IndexSettings(); settingsNot.setDocumentFilter(invertedFilter);Add documents – csak a kombinált szűrőt átmenő fájlok kerülnek indexelésre.
Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot); indexNot.add("YOUR_DOCUMENT_DIRECTORY");
Logikai AND szűrő
Kombináljon több feltételt – létrehozási dátum, kiterjesztés és fájlméret – úgy, hogy only files that meet all criteria kerülnek indexelésre.
Áttekintés
DocumentFilter.createAnd több szűrőt egyetlen szabályná egyesít.
Implementációs lépések
Define filters – hozzon létre egyedi szűrőket minden feltételhez.
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 – használja az AND operátort az összes feltétel megköveteléséhez.
DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3); IndexSettings settingsAnd = new IndexSettings(); settingsAnd.setDocumentFilter(finalFilterAnd);Index documents – adja át a kombinált szűrőt az indexelési csővezetéknek.
Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd); indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
Logikai OR szűrő
Vegye fel a fájlokat, amelyek any a megadott feltételeknek megfelelnek – hasznos, ha kis szövegfájlokat és nagyobb nem‑szöveg fájlokat egyaránt szeretne lefedni.
Implementációs lépések
Define filters – hozzon létre különálló szűrőket minden alternatív feltételhez.
DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt"); DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);Combine filters with logical conditions – használja az OR operátort.
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 – csatolja a kombinált szűrőt az index konfigurációjához.
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");
Létrehozási idő szűrők
Célzottan indexeljen olyan fájlokat, amelyek egy adott időszakban lettek létrehozva – klasszikus date range filter java eset.
Implementációs lépések
Define date‑range filter – adja meg a kezdő és befejező dátumokat.
DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15)); IndexSettings settingsCTime = new IndexSettings(); settingsCTime.setDocumentFilter(filter3CTime);Index documents – csak azok a fájlok kerülnek indexelésre, amelyek létrehozási időbélyege a tartományon belül van.
Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime); indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
Módosítási idő szűrők
Zárja ki azokat a fájlokat, amelyeket egy bizonyos határidő után módosítottak.
Implementációs lépések
Define filter – állítsa be a maximális módosítási időbélyeget.
DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15)); IndexSettings settingsMTime = new IndexSettings(); settingsMTime.setDocumentFilter(filter2MTime);Index documents – a határidőnél újabb fájlok figyelmen kívül maradnak.
Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime); indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
Fájl útvonal szűrés
Korlátozza az indexelést olyan fájlokra, amelyek meghatározott mappákban vagy egy mintának megfelelően helyezkednek el – ideális include files by extension egy adott könyvtárhierarchián belül.
Implementációs lépések
Define file‑path filter – használjon glob vagy regex mintákat a könyvtárak egyezéséhez.
DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/"); IndexSettings settingsPath = new IndexSettings(); settingsPath.setDocumentFilter(pathFilter);Initialize index and add documents – alkalmazza az útvonal‑szűrőt a többi szabállyal együtt.
Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath); indexPath.add("YOUR_DOCUMENT_DIRECTORY");
Gyakori buktatók és tippek
- Never mix absolute and relative paths ugyanabban a szűrőkonfigurációban – ez váratlan kizárásokhoz vezethet.
- Reset the
IndexSettingsszűrők cseréjekor; ellenkező esetben a korábbi szűrők megmaradhatnak. - Combine a length upper bound with an extension filter nagy gyűjteményeknél a memóriahasználat csökkentése érdekében.
- LoggingOptions szabályozza a GroupDocs.Search naplózási beállításait.
- Enable logging (
LoggingOptions.setEnabled(true)) a fájlok elutasításának okának megtekintéséhez.
Gyakran feltett kérdések
Q: Can I change the filter criteria after the index is created?
A: Igen. Építse újra az indexet egy új DocumentFilter segítségével, vagy használjon inkrementális indexelést frissített beállításokkal.
Q: Does the java file extension filter work on compressed archives (e.g., ZIP)?
A: A GroupDocs.Search képes indexelni a támogatott archívumformátumokat, de a kiterjesztés‑szűrő az archívumra, nem a belső fájlokra vonatkozik. Használjon beágyazott szűrőket a mélyebb vezérléshez.
Q: How do I debug why a particular file was excluded?
A: Engedélyezze a könyvtár naplózását (LoggingOptions.setEnabled(true)) és ellenőrizze a naplót – az jelzi, melyik szűrő utasította el az adott fájlt.
Q: Is it possible to combine the java file extension filter with custom regex filters?
A: Teljesen lehetséges. Egy regex szűrőt csomagoljon be a DocumentFilter.createAnd()‑be a kiterjesztés‑szűrő mellett.
Q: What performance impact does adding many filters have?
A: Minden szűrő mérsékelt terhelést ad az indexeléshez, de a indexelt adatok csökkenése általában felülmúlja a költséget. Teszteljen egy reprezentatív mintán a legoptimálisabb egyensúly megtalálásához.
Last Updated: 2026-09-06
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs