Jak provádět regex vyhledávání v Javě s GroupDocs.Search

Searching through thousands of text documents can feel like looking for a needle in a haystack. How to regex search in Java becomes effortless when you pair the language’s powerful regular‑expression engine with GroupDocs.Search, a library that builds an index for lightning‑fast pattern matching. In the next few minutes you’ll see how to install the library, create an index, add files, and run both simple text‑based and object‑oriented regex queries. By the end you’ll be ready to embed robust pattern‑matching search into any Java application.

Rychlé odpovědi

  • Jaká je hlavní knihovna? GroupDocs.Search for Java
  • Jak začít? Přidejte Maven závislost a vytvořte objekt Index
  • Mohu filtrovat obsah pomocí regexu? Ano – použijte regex dotazy pro scénáře filtrování obsahu
  • Potřebuji licenci? Pro produkční použití je vyžadována bezplatná zkušební verze nebo dočasná licence
  • Jaká verze JDK je podporována? Java 8 nebo vyšší

Co je regex vyhledávání?

Regex vyhledávání vám umožňuje najít vzory, jako jsou data, e‑mailové adresy nebo opakující se znaky, napříč mnoha soubory v jedné operaci. Přemění dotaz v prostém textu na výkonný, pravidly řízený skener, který může za běhu extrahovat nebo blokovat obsah.

Proč použít GroupDocs.Search pro regex vyhledávání?

GroupDocs.Search indexuje dokumenty jednou a poté tento index používá pro každý dotaz, což poskytuje až 10× rychlejší vyhledávání ve srovnání s přímým skenováním souborů. Knihovna podporuje více než 30 formátů souborů (PDF, DOCX, XLSX, PPTX, TXT, HTML a další) a dokáže zpracovat soubory o stovkách stránek, aniž by načítala celý soubor do paměti.

Předpoklady

  • Java Development Kit (JDK) 8 nebo vyšší
  • Maven pro správu závislostí
  • Základní znalost regulárních výrazů v Javě

Požadované knihovny a závislosti

Add GroupDocs.Search to your Maven project:

<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>

Alternatively, download the latest JAR from GroupDocs.Search for Java releases.

Získání licence

Obtain a free trial or temporary license from GroupDocs.License and load it at application start‑up.

Nastavení GroupDocs.Search pro Javu

Informace o instalaci

  1. Integrace s Maven: Přidejte repozitář a závislost uvedenou výše do svého pom.xml.
  2. Přímé stažení: Umístěte soubory JAR do classpath vašeho projektu.
  3. Aplikace licence: Načtěte soubor licence při spuštění aplikace.
import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize the index by specifying a directory.
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
        Index index = new Index(indexFolder);

        System.out.println("Index created successfully at: " + indexFolder);
    }
}

Hlavní komponenty

Index třída je hlavní komponenta, která ukládá prohledávatelné tokeny extrahované z vašich dokumentů. Umožňuje rychlé vyhledání jakéhokoli termínu nebo vzoru bez nutnosti opětovného čtení původních souborů.

Jak vytvořit index

Vytvoření indexu je jednoduché: vytvořte instanci třídy Index s cestou ke složce, kde budou uloženy soubory indexu. Konstruktor při prvním použití vytvoří potřebné databázové soubory a připraví engine pro přidávání a vyhledávání dokumentů. Po vytvoření použijte stejný index pro všechny dotazy.

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);

Jak přidat dokumenty

Aby byl soubor prohledávatelný, zavolejte index.add s instancí Document (nebo DocumentInfo), která ukazuje na cestu souboru. Knihovna parsuje obsah, extrahuje tokeny a uloží je do indexu. Tuto operaci lze provést pro jednotlivé soubory nebo dávky a aktualizace se sloučí inkrementálně.

index.add("YOUR_DOCUMENT_DIRECTORY");
system.out.println("Documents added to the index.");

Jak provést vyhledávání regulárním výrazem v textové podobě

RegexQuery definuje vyhledávací dotaz založený na regulárním výrazu. Načtěte RegexQuery s textovým vzorem a předávejte jej metodě search třídy Index. Engine vyhodnotí vzor vůči indexovaným tokenům a vrátí odpovídající reference na dokumenty, což umožňuje rychlé a jednoduché jednorázové vyhledávání.

String query1 = "^((.)\\2{1,})";

Jak provést vyhledávání regulárním výrazem v objektové podobě

RegexQuery lze také vytvořit jako objekt a znovu použít v několika vyhledáváních. Definujte dotaz jednou, nastavte možnosti jako neberení v úvahu velikosti písmen nebo fuzzy shodu a opakovaně volajte index.search. Tento přístup zlepšuje výkon, když je stejný vzor aplikován na mnoho různých sad dokumentů.

SearchResult result1 = index.search(query1);
system.out.println("Number of occurrences found: " + result1.getDocumentCount());

Případy použití regexu pro filtrování obsahu

Můžete použít regex k automatickému blokování nebo označování obsahu, který odpovídá určitým vzorům, například:

  • Detekce opakujících se znaků pro filtrování spamu
  • Vyhledávání sekvencí podobných kreditním kartám pro kontrolu ochrany dat
  • Extrahování dat nebo ID pro následné zpracování

Praktické aplikace

  1. Systémy pro správu dokumentů: Vyhledávejte smlouvy, faktury nebo zásady podle vzoru (např. čísla faktur).
  2. Moderování obsahu: Použijte regex pravidla k moderaci uživatelského textu ve fórech nebo chatovacích aplikacích.
  3. Extrahování dat: Získejte strukturovaná data, jako jsou čísla objednávek, z nestrukturovaných PDF nebo Word souborů.

Úvahy o výkonu

  • Aktualizace indexu: Zavolejte index.add kdykoli se změní zdrojové soubory, aby byly výsledky aktuální.
  • Správa paměti: Pro korpusy přesahující 1 milion dokumentů povolte inkrementální indexování, aby byl využití haldy pod kontrolou.
  • Návrh regexu: Udržujte vzory stručné; vzor jako \d{4}-\d{2}-\d{2} běží 3× rychleji než výraz s mnoha zástupnými znaky jako .*.

Závěr

Nyní víte, jak provádět regex vyhledávání v Javě pomocí GroupDocs.Search, od instalace knihovny a vytvoření indexu až po provádění jak textových, tak objektově orientovaných dotazů. Tyto techniky vám umožní přidat rychlé, vzorově orientované vyhledávání do jakékoli Java aplikace, ať už vytváříte dokumentový portál, kontrolní skener nebo datový těžební řetězec.

Často kladené otázky

Q: Jaký je rozdíl mezi textovými a objektovými regex dotazy v GroupDocs.Search?
A: Textové dotazy jsou rychlé jednorázové, zatímco objektové dotazy poskytují znovupoužitelné, typově bezpečné definice, které lze uložit a znovu použít v několika vyhledáváních.

Q: Může GroupDocs.Search indexovat netextové dokumenty, jako jsou PDF nebo Excel soubory?
A: Ano, knihovna extrahuje prohledávatelný text z PDF, DOCX, XLSX, PPTX a více než 30 dalších formátů.

Q: Jak aktualizovat existující vyhledávací index po přidání nových souborů?
A: Zavolejte index.add s novými nebo upravenými dokumenty; knihovna sloučí změny bez nutnosti přestavovat celý index.

Q: Jaké jsou běžné úskalí při používání regexu s GroupDocs.Search?
A: Příliš široké vzory (např. .*) mohou způsobit pokles výkonu a špatně vytvořené výrazy mohou vracet žádné výsledky. Vždy nejprve testujte vzory na vzorku dat.

Q: Kde najdu pokročilejší tutoriály k GroupDocs.Search?
A: Navštivte GroupDocs Documentation pro podrobné návody, referenční API a ukázkové projekty.


Poslední aktualizace: 2026-07-31
Testováno s: GroupDocs.Search 25.4
Autor: GroupDocs

SearchQuery query2 = SearchQuery.createRegexQuery("^(.)\\1{1,}");
SearchResult result2 = index.search(query2);
system.out.println("Occurrences found using object form: " + result2.getDocumentCount());

Související tutoriály