Hogyan végezzünk regex keresést Java-ban a GroupDocs.Search segítségével

Több ezer szöveges dokumentum keresése olyan érzés lehet, mintha tűt keresnénk egy szénakazalban. Hogyan végezzünk regex keresést Java-ban könnyedé válik, ha a nyelv erőteljes reguláris‑kifejezés motorját a GroupDocs.Search könyvtárral kombináljuk, amely indexet épít a villámgyors mintakereséshez. A következő néhány percben megmutatjuk, hogyan telepítsük a könyvtárat, hozzunk létre egy indexet, adjunk hozzá fájlokat, és futtassunk egyszerű szövegalapú és objektumalapú regex lekérdezéseket. A végére készen állsz majd, hogy robusztus mintakeresést építs be bármely Java alkalmazásba.

Gyors válaszok

  • Mi a fő könyvtár? GroupDocs.Search for Java
  • Hogyan kezdjek? Add the Maven dependency and instantiate an Index object
  • Szűrhetek tartalmat regex-szel? Yes – use regex queries for content‑filtering scenarios
  • Szükségem van licencre? A free trial or temporary license is required for production use
  • Melyik JDK verzió támogatott? Java 8 or higher

Mi a regex keresés?

A regex keresés lehetővé teszi, hogy egyetlen művelettel mintákat találj, például dátumokat, e‑mail címeket vagy ismétlődő karaktereket számos fájlban. Egy egyszerű szöveges lekérdezést erőteljes, szabályalapú szkenneré alakítja, amely valós időben képes kinyerni vagy blokkolni a tartalmat.

Miért használjuk a GroupDocs.Search-t regex kereséshez?

A GroupDocs.Search egyszer indexeli a dokumentumokat, majd minden lekérdezésnél újra felhasználja ezt az indexet, így akár 10× gyorsabb kereséseket biztosít a nyers fájlszkenneléshez képest. A könyvtár 30+ fájlformátumot támogat (PDF, DOCX, XLSX, PPTX, TXT, HTML és továbbiak), és több száz oldalas fájlokat is kezel anélkül, hogy a teljes fájlt a memóriába töltené.

Előfeltételek

  • Java Development Kit (JDK) 8 vagy újabb
  • Maven a függőségkezeléshez
  • Alapvető ismeretek a Java reguláris kifejezésekkel

Szükséges könyvtárak és függőségek

Add GroupDocs.Search a Maven projektedhez:

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

Alternatívaként töltsd le a legújabb JAR-t a GroupDocs.Search for Java releases oldalról.

Licenc megszerzése

Szerezz be egy ingyenes próba vagy ideiglenes licencet a GroupDocs.License oldalról, és töltsd be az alkalmazás indításakor.

A GroupDocs.Search beállítása Java-hoz

Telepítési információk

  1. Maven integráció: Add the repository and dependency shown above to your pom.xml.
  2. Közvetlen letöltés: Place the JAR files on your project’s classpath.
  3. Licenc alkalmazása: Load the license file at application start‑up.
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);
    }
}

Alapvető komponensek

A Index osztály az az alapvető komponens, amely a dokumentumaidból kinyert kereshető tokeneket tárolja. Lehetővé teszi bármely kifejezés vagy minta gyors keresését az eredeti fájlok újraolvasása nélkül.

Hogyan hozzunk létre indexet

Az index létrehozása egyszerű: példányosítsd a Index osztályt egy mappával, ahol az indexfájlok tárolódnak. A konstruktor az első használatkor létrehozza a szükséges adatbázisfájlokat, és előkészíti a motort a dokumentumok hozzáadására és keresésére. Létrehozás után ugyanazt az indexet használhatod minden lekérdezéshez.

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

Hogyan adjunk dokumentumokat

Ahhoz, hogy egy fájlt kereshetővé tegyünk, hívd meg az index.add metódust egy Document (vagy DocumentInfo) példánnyal, amely a fájl útvonalára mutat. A könyvtár feldolgozza a tartalmat, kinyeri a tokeneket, és tárolja őket az indexben. Ez a művelet egyedi fájlokra vagy kötegekre is elvégezhető, és a frissítések fokozatosan egyesülnek.

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

Hogyan hajtsunk végre reguláris kifejezés keresést szöveges formában

RegexQuery egy reguláris‑kifejezés alapú keresési lekérdezést definiál. Tölts be egy RegexQuery-t egy egyszerű szöveges mintával, és add át az Index search metódusának. A motor a mintát az indexelt tokenekkel értékeli ki, és visszaadja a megfelelő dokumentumreferenciákat, így az egyszeri keresések gyorsak és egyszerűek.

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

Hogyan hajtsunk végre reguláris kifejezés keresést objektum formában

RegexQuery objektumként is felépíthető, és több keresésnél újra felhasználható. Definiáld a lekérdezést egyszer, állíts be opciókat, például kis‑nagybetű érzéketlenséget vagy fuzzy egyezést, és ismételten hívd meg az index.search metódust. Ez a megközelítés javítja a teljesítményt, ha ugyanazt a mintát sok különböző dokumentumkészletre alkalmazzák.

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

Tartalomszűrés regex használati esetek

A regex segítségével automatikusan blokkolhatsz vagy jelölhetsz olyan tartalmakat, amelyek bizonyos mintáknak megfelelnek, például:

  • Ismétlődő karakterek észlelése spam szűréshez
  • Hitelkártya-szerű sorozatok keresése adatvédelmi ellenőrzésekhez
  • Dátumok vagy azonosítók kinyerése további feldolgozáshoz

Gyakorlati alkalmazások

  1. Dokumentumkezelő rendszerek: Szerződések, számlák vagy irányelvek megtalálása minták alapján (pl. számlaszámok).
  2. Tartalom moderálás: Alkalmazz regex szabályokat a felhasználók által generált szöveg moderálásához fórumokban vagy csevegőalkalmazásokban.
  3. Adatok kinyerése: Strukturált adatokat, például rendelési számokat nyerj ki strukturálatlan PDF-ekből vagy Word fájlokból.

Teljesítmény szempontok

  • Index frissítések: Hívd meg az index.add-t, amikor a forrásfájlok változnak, hogy az eredmények frissek legyenek.
  • Memória kezelése: Több mint 1 millió dokumentum esetén engedélyezd az inkrementális indexelést, hogy a heap használat kontroll alatt maradjon.
  • Regex tervezés: Tartsd a mintákat tömören; egy \d{4}-\d{2}-\d{2} minta 3× gyorsabb, mint egy .*-re épülő wildcard‑súlyú kifejezés.

Következtetés

Most már tudod, hogyan végezzünk regex keresést Java-ban a GroupDocs.Search használatával, a könyvtár telepítésétől és egy index létrehozásától a szövegalapú és objektumalapú lekérdezések végrehajtásáig. Ezek a technikák lehetővé teszik, hogy gyors, mintára érzékeny keresést adj hozzá bármely Java alkalmazáshoz, legyen az dokumentumportál, megfelelőségi szkenner vagy adatbányászati folyamat.

Gyakran Ismételt Kérdések

Q: Mi a különbség a szövegalapú és objektumalapú regex lekérdezések között a GroupDocs.Search-ben?
A: A szövegalapú lekérdezések gyors egy‑sorosok, míg az objektumalapú lekérdezések újrahasználható, típusbiztos definíciókat biztosítanak, amelyeket tárolni és több keresésnél újra felhasználni lehet.

Q: Indexelhet a GroupDocs.Search nem‑szöveges dokumentumokat, például PDF-eket vagy Excel fájlokat?
A: Igen, a könyvtár kereshető szöveget nyer ki a PDF-ekből, DOCX, XLSX, PPTX és több mint 30 egyéb formátumból.

Q: Hogyan frissíthetem a meglévő keresőindexet új fájlok hozzáadása után?
A: Hívd meg az index.add-t az új vagy módosított dokumentumokkal; a könyvtár összevonja a változásokat anélkül, hogy újraépítené az egész indexet.

Q: Mik a gyakori buktatók a regex használatakor a GroupDocs.Search-ben?
A: A túl általános minták (pl. .*) teljesítménycsökkenést okozhatnak, és a hibás kifejezések nem adhatnak eredményt. Mindig először teszteld a mintákat egy mintakészleten.

Q: Hol találhatók a fejlettebb GroupDocs.Search oktatóanyagok?
A: Látogasd meg a GroupDocs Documentation oldalt a részletes útmutatók, API referenciák és mintaprojektekért.


Legutóbb frissítve: 2026-07-31
Tesztelve ezzel: GroupDocs.Search 25.4
Szerző: GroupDocs

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

Kapcsolódó oktatóanyagok