Mistrovství filtru přípony souboru java s GroupDocs.Search
Správa rostoucího úložiště dokumentů může rychle přerůst v přetížení. Ať už potřebujete indexovat jen konkrétní typy dokumentů nebo vyloučit nepodstatné soubory, java file extension filter vám poskytuje jemno‑granulární kontrolu nad tím, co se zpracuje. V tomto průvodci vás provedeme nastavením GroupDocs.Search for Java a ukážeme, jak kombinovat filtrování podle přípony souboru s logickými operátory AND, OR a NOT, stejně jako s filtry pro časové rozmezí a cestu.
Rychlé odpovědi
- Co je java file extension filter? Konfigurace, která říká GroupDocs.Search, které přípony souborů zahrnout nebo vyloučit během indexování.
- Která knihovna poskytuje tuto funkci? GroupDocs.Search for Java.
- Potřebuji licenci? Bezplatná zkušební verze stačí pro vyhodnocení; pro produkční nasazení je vyžadována plná licence.
- Mohu kombinovat filtry? Ano – můžete řetězit filtry pro příponu, datum, velikost a cestu pomocí logiky AND, OR, NOT.
- Je kompatibilní s Maven? Naprosto – přidejte závislost GroupDocs.Search do svého
pom.xml.
Úvod
Máte potíže s efektivní správou rostoucího úložiště souborů? Ať už potřebujete organizovat dokumenty podle typu nebo během indexování filtrovat nepotřebné soubory, může být úkol bez správných nástrojů náročný. GroupDocs.Search for Java je pokročilá knihovna pro vyhledávání, která tyto výzvy zjednodušuje díky výkonným možnostem filtrování souborů. Tento tutoriál vás provede implementací technik filtrování souborů .NET pomocí GroupDocs.Search, se zaměřením na logické filtry AND, OR a NOT.
Co se naučíte
- Nastavení GroupDocs.Search ve vašem Java prostředí
- Implementace různých filtrů: File Extension, Logical Operators (AND, OR, NOT), Creation Time, Modification Time, File Path a Length
- Praktické aplikace těchto filtrů pro efektivní správu dokumentů
- Tipy na optimalizaci výkonu pro úlohy indexování ve velkém měřítku
Připraveni odemknout plný potenciál filtrování souborů v Javě? Pojďme nejprve projít požadavky.
Požadavky
Než začneme, ujistěte se, že máte následující:
Požadované knihovny a závislosti
- GroupDocs.Search for Java: Verze 25.4 nebo novější
- Java Development Kit (JDK): Ujistěte se, že máte nainstalovanou kompatibilní verzi.
Nastavení prostředí
- Integrované vývojové prostředí (IDE): Použijte IntelliJ IDEA, Eclipse nebo jakékoli jiné IDE, které podporuje Maven projekty.
Předpoklady znalostí
- Základní znalost programování v Javě
- Znalost operací souborového I/O v Javě
- Porozumění regulárním výrazům a manipulacím s datum‑časem
Nastavení GroupDocs.Search pro Java
Abyste mohli začít používat GroupDocs.Search, musíte jej zahrnout jako závislost do svého projektu. Zde je postup:
Maven konfigurace
Přidejte následující konfiguraci repozitáře a závislosti do souboru pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
Přímé stažení
Alternativně si stáhněte nejnovější verzi přímo z GroupDocs.Search for Java releases.
Získání licence
- Free Trial: Začněte s bezplatnou zkušební verzí a prozkoumejte funkce GroupDocs.Search.
- Temporary License: Požádejte o dočasnou licenci pro přístup k plné funkčnosti bez omezení.
- Purchase: Pro dlouhodobé používání zakupte předplatné.
Základní inicializace a nastavení
Po přidání knihovny inicializujte své indexovací prostředí:
import com.groupdocs.search.*;
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);
Průvodce implementací
Nyní se podívejme, jak implementovat různé funkce filtrování souborů pomocí GroupDocs.Search.
Filtrování podle přípony souboru
Filtrujte soubory podle jejich přípon během indexování. Tato funkce je užitečná pro zpracování pouze konkrétních typů dokumentů, jako jsou FB2, EPUB a TXT.
Přehled
Filtrujte dokumenty podle přípony souboru pomocí vlastní konfigurace filtru.
Kroky implementace
Vytvořte filtr:
DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt"); IndexSettings settings = new IndexSettings(); settings.setDocumentFilter(filter);Inicializujte index a přidejte dokumenty:
Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings); index.add("YOUR_DOCUMENT_DIRECTORY");
Logický NOT filtr
Vyloučte konkrétní přípony souborů během indexování, například HTM, HTML a PDF.
Kroky implementace
Vytvořte vylučovací filtr:
DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf"); DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);Použijte v nastavení indexu:
IndexSettings settingsNot = new IndexSettings(); settingsNot.setDocumentFilter(invertedFilter);Přidejte dokumenty:
Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot); indexNot.add("YOUR_DOCUMENT_DIRECTORY");
Logický AND filtr
Kombinujte více kritérií tak, aby byly zahrnuty jen soubory, které splňují všechny zadané podmínky.
Přehled
Použijte logické operace AND k filtrování souborů na základě času vytvoření, přípony souboru a délky.
Kroky implementace
Definujte filtry:
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);Kombinujte filtry:
DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3); IndexSettings settingsAnd = new IndexSettings(); settingsAnd.setDocumentFilter(finalFilterAnd);Indexujte dokumenty:
Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd); indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
Logický OR filtr
Kroky implementace
Definujte filtry:
DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt"); DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);Kombinujte filtry s logickými podmínkami:
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);Dokončete OR filtr:
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");
Filtry podle času vytvoření
Filtrujte soubory podle času vytvoření tak, aby byly zahrnuty jen ty v určeném časovém rozmezí.
Kroky implementace
Definujte filtr pro časové rozmezí:
DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15)); IndexSettings settingsCTime = new IndexSettings(); settingsCTime.setDocumentFilter(filter3CTime);Indexujte dokumenty:
Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime); indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
Filtry podle času úpravy
Vyloučte soubory upravené po konkrétním datu.
Kroky implementace
Definujte filtr:
DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15)); IndexSettings settingsMTime = new IndexSettings(); settingsMTime.setDocumentFilter(filter2MTime);Indexujte dokumenty:
Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime); indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
Filtrování podle cesty souboru
Filtrujte soubory podle jejich cest, aby byly zahrnuty jen soubory umístěné ve specifických adresářích.
Kroky implementace
Definujte filtr cesty souboru:
DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/"); IndexSettings settingsPath = new IndexSettings(); settingsPath.setDocumentFilter(pathFilter);Inicializujte index a přidejte dokumenty:
Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath); indexPath.add("YOUR_DOCUMENT_DIRECTORY");
Časté úskalí a tipy
- Nikdy nemíchejte absolutní a relativní cesty ve stejné konfiguraci filtru – může to vést k neočekávanému vyloučení.
- Pamatujte na resetování
IndexSettingspři přepínání mezi různými sadami filtrů; jinak mohou přetrvávat předchozí filtry. - Velké kolekce souborů těží z kombinace horního limitu délky s filtrem přípony, aby se snížila spotřeba paměti.
Často kladené otázky
Q: Mohu změnit kritéria filtru po vytvoření indexu?
A: Ano. Můžete přestavět index s novým DocumentFilter nebo použít inkrementální indexování s aktualizovanými nastaveními.
Q: Funguje java file extension filter na komprimované archivy (např. ZIP)?
A: GroupDocs.Search může indexovat podporované formáty archivů, ale filtr přípony se vztahuje na samotný archiv, nikoli na vnitřní soubory. V případě potřeby použijte vnořené filtry.
Q: Jak mohu ladit, proč byl konkrétní soubor vyloučen?
A: Aktivujte logování knihovny (nastavte LoggingOptions.setEnabled(true)) a prohlédněte si vygenerovaný log – uvádí, který filtr odmítl každý soubor.
Q: Je možné kombinovat java file extension filter s vlastními regex filtry?
A: Naprosto. Můžete zabalit regex filtr do DocumentFilter.createAnd() společně s filtrem přípony.
Q: Jaký dopad na výkon má přidání mnoha filtrů?
A: Každý další filtr přidává během indexování malou režii, ale výhoda snížené velikosti indexu obvykle převáží náklady. Otestujte na vzorku, abyste našli optimální rovnováhu.
Poslední aktualizace: 2025-12-19
Testováno s: GroupDocs.Search 25.4 for Java
Autor: GroupDocs