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

  1. Free Trial: Začněte s bezplatnou zkušební verzí a prozkoumejte funkce GroupDocs.Search.
  2. Temporary License: Požádejte o dočasnou licenci pro přístup k plné funkčnosti bez omezení.
  3. 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

  1. Vytvořte filtr:

    DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt");
    IndexSettings settings = new IndexSettings();
    settings.setDocumentFilter(filter);
    
  2. 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

  1. Vytvořte vylučovací filtr:

    DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf");
    DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);
    
  2. Použijte v nastavení indexu:

    IndexSettings settingsNot = new IndexSettings();
    settingsNot.setDocumentFilter(invertedFilter);
    
  3. 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

  1. 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);
    
  2. Kombinujte filtry:

    DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3);
    IndexSettings settingsAnd = new IndexSettings();
    settingsAnd.setDocumentFilter(finalFilterAnd);
    
  3. Indexujte dokumenty:

    Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd);
    indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
    

Logický OR filtr

Kroky implementace

  1. Definujte filtry:

    DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt");
    DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);
    
  2. 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);
    
  3. 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

  1. 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);
    
  2. 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

  1. Definujte filtr:

    DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15));
    IndexSettings settingsMTime = new IndexSettings();
    settingsMTime.setDocumentFilter(filter2MTime);
    
  2. 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

  1. Definujte filtr cesty souboru:

    DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/");
    IndexSettings settingsPath = new IndexSettings();
    settingsPath.setDocumentFilter(pathFilter);
    
  2. 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í IndexSettings př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