Filtrace přípon souborů java pomocí GroupDocs.Search

V tomto komplexním tutoriálu se naučíte, jak filtraci přípon souborů java provádět při indexaci dokumentů pomocí GroupDocs.Search. Na konci průvodce budete schopni zahrnout pouze potřebné typy souborů, vyloučit nežádoucí formáty a kombinovat tato pravidla s filtry časového rozmezí a cesty pomocí logických operátorů AND, OR a NOT. Tento přístup udržuje index úsporný, zrychluje vyhledávání a pomáhá dodržovat zásady zacházení s daty.

Rychlé odpovědi

  • Co je filtr přípon souborů java? Jedná se o pravidlo, které říká GroupDocs.Search, které přípony souborů zahrnout nebo vyloučit během indexace.
  • Která knihovna poskytuje tuto funkci? GroupDocs.Search for Java.
  • Potřebuji licenci? Bezplatná zkušební verze funguje pro hodnocení; plná licence je vyžadována pro produkci.
  • Mohu kombinovat filtry? Ano – můžete řetězit filtry přípon, data, velikosti a cesty pomocí logiky AND, OR, NOT.
  • Je kompatibilní s Maven? Naprosto – přidejte závislost GroupDocs.Search do svého pom.xml.

Co je filtr přípon souborů java?

Filtr přípon souborů java je sada pravidel, která vyhodnocuje příponu každého souboru před jeho odesláním do indexovacího enginu. Zadáním přípon jako .txt, .pdf nebo .epub můžete zahrnout soubory podle přípony nebo vyloučit soubory podle přípony, aby byl váš index zaměřený a výsledky vyhledávání relevantní.

Proč používat filtraci přípon souborů s GroupDocs.Search?

Filtrace přípon souborů zvyšuje efektivitu indexace tím, že vylučuje irelevantní formáty, snižuje požadavky na úložiště a pomáhá splňovat pravidla souladu tím, že zabraňuje vstupu nežádoucího obsahu do indexu. Také umožňuje rychlejší odezvy na dotazy, protože vyhledávač zpracovává menší, relevantnější datovou sadu.

  • Výkon: Přeskakování nežádoucích souborů snižuje I/O a zrychluje indexaci až o 40 % u velkých úložišť.
  • Úspora úložiště: Do indexu jsou uloženy jen relevantní dokumenty, což snižuje využití disku v průměru o 30 %.
  • Soulad: Zabraňuje neúmyslné indexaci důvěrných nebo nepodporovaných typů souborů.
  • Flexibilita: Kombinujte s filtry časového rozmezí java pro cílení souborů vytvořených nebo upravených v konkrétních obdobích.

Předpoklady

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ší (podporuje více než 60 vstupních formátů).
  • Java Development Kit (JDK) – libovolná kompatibilní verze (8 nebo novější).

Nastavení prostředí

  • Integrované vývojové prostředí (IDE): IntelliJ IDEA, Eclipse nebo jakékoli Maven‑kompatibilní IDE.

Předpoklady znalostí

  • Základní programování v Javě.
  • Znalost souborového I/O v Javě.
  • Porozumění regulárním výrazům a práci 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.

Maven konfigurace

Přidejte následující repozitář a konfiguraci 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 vydání GroupDocs.Search pro Java.

Získání licence

  1. Bezplatná zkušební verze – prozkoumejte funkce zdarma.
  2. Dočasná licence – získáte plnou funkčnost na omezenou dobu.
  3. Nákup – získáte trvalou licenci pro produkční použití.

Základní inicializace a nastavení

Jakmile je knihovna přidána, inicializujte své indexovací prostředí. Třída IndexSettings obsahuje všechna konfigurační nastavení, včetně filtrů.

import com.groupdocs.search.*;

String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);

Průvodce implementací

Níže se ponoříme do jednotlivých typů filtrů, vysvětlíme proč jsou důležité a poskytneme krok‑za‑krokem instrukce, které můžete zkopírovat do svého projektu.

Filtrace přípon souborů

Filtrujte soubory podle jejich přípon během indexace. To je ideální, když chcete zpracovávat jen e‑knihy (.fb2, .epub) a čisté textové soubory (.txt).

Přehled

DocumentFilter.createFileExtension vytváří whitelist přípon.

Kroky implementace

  1. Vytvořit filtr – definujte přípony, které chcete ponechat.

    DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt");
    IndexSettings settings = new IndexSettings();
    settings.setDocumentFilter(filter);
    
  2. Inicializovat index a přidat dokumenty – aplikujte filtr při vytváření IndexSettings.

    Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings);
    index.add("YOUR_DOCUMENT_DIRECTORY");
    

Logický NOT filtr

Vylučte konkrétní přípony, například webové stránky a PDF, pokud nejsou potřeba pro váš vyhledávací scénář.

Kroky implementace

  1. Vytvořit vylučovací filtr – uveďte přípony, které chcete odmítnout.

    DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf");
    DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);
    
  2. Aplikovat na nastavení indexu – kombinujte NOT filtr s dalšími pravidly.

    IndexSettings settingsNot = new IndexSettings();
    settingsNot.setDocumentFilter(invertedFilter);
    
  3. Přidat dokumenty – indexovány budou jen soubory, které projdou kombinovaným filtrem.

    Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot);
    indexNot.add("YOUR_DOCUMENT_DIRECTORY");
    

Logický AND filtr

Kombinujte několik podmínek — datum vytvoření, příponu a velikost souboru — tak, aby pouze soubory splňující všechna kritéria byly indexovány.

Přehled

DocumentFilter.createAnd spojuje více filtrů do jedné pravidla.

Kroky implementace

  1. Definovat filtry – vytvořte samostatné filtry pro každou podmínku.

    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. Kombinovat filtry – použijte operátor AND, aby byly vyžadovány všechny podmínky.

    DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3);
    IndexSettings settingsAnd = new IndexSettings();
    settingsAnd.setDocumentFilter(finalFilterAnd);
    
  3. Indexovat dokumenty – předávejte kombinovaný filtr do indexovacího pipeline.

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

Logický OR filtr

Zahrňte soubory, které splňují kterékoli z uvedených podmínek — užitečné, když chcete zachytit jak malé textové soubory, tak větší netextové soubory.

Kroky implementace

  1. Definovat filtry – vytvořte samostatné filtry pro každou alternativní podmínku.

    DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt");
    DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);
    
  2. Kombinovat filtry s logickými podmínkami – použijte operátor OR.

    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čit OR filtr – připojte kombinovaný filtr k nastavení indexu.

    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 času vytvoření

Cíleně indexujte soubory vytvořené v konkrétním období — klasický filtr časového rozmezí java scénář.

Kroky implementace

  1. Definovat filtr časového rozmezí – uveďte počáteční a koncové datum.

    DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15));
    IndexSettings settingsCTime = new IndexSettings();
    settingsCTime.setDocumentFilter(filter3CTime);
    
  2. Indexovat dokumenty – budou indexovány jen soubory, jejichž časové razítko vytvoření spadá do zadaného rozmezí.

    Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime);
    indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtry času úpravy

Vylučte soubory, které byly upraveny po určitém datu ohraničení.

Kroky implementace

  1. Definovat filtr – nastavte maximální časové razítko úpravy.

    DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15));
    IndexSettings settingsMTime = new IndexSettings();
    settingsMTime.setDocumentFilter(filter2MTime);
    
  2. Indexovat dokumenty – soubory novější než ohraničení jsou ignorovány.

    Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime);
    indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtrování cesty souboru

Omezte indexaci na soubory umístěné ve specifických složkách nebo odpovídající vzoru — ideální pro zahrnutí souborů podle přípony v konkrétní hierarchii adresářů.

Kroky implementace

  1. Definovat filtr cesty souboru – použijte glob nebo regex vzory pro shodu adresářů.

    DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/");
    IndexSettings settingsPath = new IndexSettings();
    settingsPath.setDocumentFilter(pathFilter);
    
  2. Inicializovat index a přidat dokumenty – aplikujte filtr cesty spolu s ostatními pravidly.

    Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath);
    indexPath.add("YOUR_DOCUMENT_DIRECTORY");
    

Časté úskalí a tipy

  • Nikdy neprovádějte smíchání absolutních a relativních cest ve stejné konfiguraci filtru – může to vést k neočekávaným vyloučením.
  • Resetujte IndexSettings při přepínání sad filtrů; jinak mohou přetrvávat předchozí filtry.
  • Kombinujte horní limit délky s filtrem přípon pro velké kolekce, aby se snížila spotřeba paměti.
  • LoggingOptions řídí konfiguraci logování pro GroupDocs.Search.
  • Povolte logování (LoggingOptions.setEnabled(true)) pro zjištění, proč byl soubor odmítnut.

Často kladené otázky

Q: Mohu změnit kritéria filtru po vytvoření indexu?
A: Ano. Přestavte index s novým DocumentFilter nebo použijte inkrementální indexaci s aktualizovanými nastaveními.

Q: Funguje filtr přípon souborů java na komprimované archivy (např. ZIP)?
A: GroupDocs.Search může indexovat podporované formáty archivů, ale filtr přípon se vztahuje na samotný archiv, nikoli na vnitřní soubory. Pro hlubší kontrolu použijte vnořené filtry.

Q: Jak debugovat, proč byl konkrétní soubor vyloučen?
A: Povolte logování knihovny (LoggingOptions.setEnabled(true)) a prohlédněte si log — zpráva uvádí, který filtr odmítl daný soubor.

Q: Je možné kombinovat filtr přípon souborů java s vlastním regex filtrem?
A: Rozhodně. Zabalte regex filtr do DocumentFilter.createAnd() vedle filtru přípon.

Q: Jaký dopad na výkon má přidání mnoha filtrů?
A: Každý filtr přidává během indexace mírnou režii, ale snížení objemu indexovaných dat obvykle převáží náklady. Otestujte na reprezentativním vzorku, abyste našli optimální rovnováhu.


Last Updated: 2026-09-06
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs

Související tutoriály