Jak wyszukiwać wyrażeniami regularnymi w Javie z GroupDocs.Search

Wyszukiwanie wśród tysięcy dokumentów tekstowych może przypominać szukanie igły w stogu siana. How to regex search w Javie staje się bezwysiłkowe, gdy połączysz potężny silnik wyrażeń regularnych języka z GroupDocs.Search, biblioteką budującą indeks dla błyskawicznego dopasowywania wzorców. W ciągu kilku minut zobaczysz, jak zainstalować bibliotekę, utworzyć indeks, dodać pliki i uruchomić zarówno proste zapytania tekstowe, jak i obiektowo‑zorientowane zapytania regex. Po zakończeniu będziesz gotowy, aby wbudować solidne wyszukiwanie oparte na dopasowywaniu wzorców w dowolną aplikację Java.

Szybkie odpowiedzi

  • Jaka jest podstawowa biblioteka? GroupDocs.Search for Java
  • Jak rozpocząć? Add the Maven dependency and instantiate an Index object
  • Czy mogę filtrować zawartość przy użyciu regex? Yes – use regex queries for content‑filtering scenarios
  • Czy potrzebna jest licencja? A free trial or temporary license is required for production use
  • Która wersja JDK jest wspierana? Java 8 or higher

Czym jest wyszukiwanie regex?

Wyszukiwanie regex pozwala zlokalizować wzorce, takie jak daty, adresy e‑mail czy powtarzające się znaki, w wielu plikach w jednej operacji. Przekształca ono zapytanie w zwykłym tekście w potężny skaner oparty na regułach, który może wyodrębniać lub blokować zawartość w locie.

Dlaczego używać GroupDocs.Search do wyszukiwania regex?

GroupDocs.Search indeksuje dokumenty raz, a następnie ponownie wykorzystuje ten indeks dla każdego zapytania, zapewniając do 10× szybsze wyszukiwania w porównaniu ze skanowaniem surowych plików. Biblioteka obsługuje ponad 30 formatów plików (PDF, DOCX, XLSX, PPTX, TXT, HTML i inne) i potrafi obsłużyć pliki wielostronicowe bez ładowania całego pliku do pamięci.

Wymagania wstępne

  • Java Development Kit (JDK) 8 lub wyższy
  • Maven do zarządzania zależnościami
  • Podstawowa znajomość wyrażeń regularnych w Javie

Wymagane biblioteki i zależności

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>

Alternatywnie, pobierz najnowszy plik JAR z GroupDocs.Search for Java releases.

Uzyskanie licencji

Uzyskaj bezpłatną wersję próbną lub tymczasową licencję z GroupDocs.License i załaduj ją przy uruchamianiu aplikacji.

Konfiguracja GroupDocs.Search dla Java

Informacje o instalacji

  1. Maven Integration: Dodaj repozytorium i zależność pokazane powyżej do swojego pom.xml.
  2. Direct Download: Umieść pliki JAR na classpathie swojego projektu.
  3. License Application: Załaduj plik licencji przy uruchamianiu aplikacji.
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);
    }
}

Główne komponenty

Klasa Index jest głównym komponentem, który przechowuje przeszukiwalne tokeny wyodrębnione z Twoich dokumentów. Umożliwia szybkie wyszukiwanie dowolnego terminu lub wzorca bez ponownego odczytywania oryginalnych plików.

Jak utworzyć indeks

Tworzenie indeksu jest proste: zainstancjuj klasę Index z ścieżką folderu, w którym będą przechowywane pliki indeksu. Konstruktor tworzy niezbędne pliki bazy danych przy pierwszym użyciu i przygotowuje silnik do dodawania i przeszukiwania dokumentów. Po utworzeniu, używaj tego samego indeksu dla wszystkich zapytań.

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

Jak dodać dokumenty

Aby plik był przeszukiwalny, wywołaj index.add z instancją Document (lub DocumentInfo) wskazującą na ścieżkę pliku. Biblioteka analizuje zawartość, wyodrębnia tokeny i zapisuje je w indeksie. Operację tę można wykonać dla pojedynczych plików lub partii, a aktualizacje są łączone stopniowo.

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

Jak wykonać wyszukiwanie wyrażeniem regularnym w formie tekstowej

RegexQuery definiuje zapytanie wyszukiwania oparte na wyrażeniu regularnym. Załaduj RegexQuery z wzorcem w zwykłym tekście i przekaż go do metody search klasy Index. Silnik ocenia wzorzec względem tokenów w indeksie i zwraca odwołania do pasujących dokumentów, co sprawia, że jednorazowe wyszukiwania są szybkie i proste.

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

Jak wykonać wyszukiwanie wyrażeniem regularnym w formie obiektowej

RegexQuery może być również zbudowany jako obiekt i ponownie używany w wielu wyszukiwaniach. Zdefiniuj zapytanie raz, skonfiguruj opcje takie jak ignorowanie wielkości liter lub dopasowanie przybliżone, i wielokrotnie wywołuj index.search. To podejście poprawia wydajność, gdy ten sam wzorzec jest stosowany do wielu różnych zestawów dokumentów.

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

Przypadki użycia regex do filtrowania treści

Możesz używać regex do automatycznego blokowania lub oznaczania treści, które pasują do określonych wzorców, takich jak:

  • Wykrywanie powtarzających się znaków w celu filtrowania spamu
  • Znajdowanie sekwencji podobnych do numerów kart kredytowych w kontroli prywatności danych
  • Wyodrębnianie dat lub identyfikatorów do dalszego przetwarzania

Praktyczne zastosowania

  1. Document Management Systems: Lokalizuj umowy, faktury lub polityki za pomocą wzorca (np. numery faktur).
  2. Content Moderation: Stosuj reguły regex do moderacji tekstu generowanego przez użytkowników na forach lub w aplikacjach czatu.
  3. Data Extraction: Pobieraj dane strukturalne, takie jak numery zamówień, z nieustrukturyzowanych plików PDF lub Word.

Rozważania dotyczące wydajności

  • Index Updates: Wywołuj index.add za każdym razem, gdy zmieniają się pliki źródłowe, aby utrzymać aktualność wyników.
  • Memory Management: Dla korpusów przekraczających 1 milion dokumentów włącz indeksowanie przyrostowe, aby utrzymać zużycie pamięci pod kontrolą.
  • Regex Design: Utrzymuj wzorce zwięzłe; wzorzec taki jak \d{4}-\d{2}-\d{2} działa 3× szybciej niż wyrażenie obciążone wieloma znakami wieloznacznymi, np. .*.

Zakończenie

Teraz wiesz, jak wyszukiwać wyrażeniami regularnymi w Javie przy użyciu GroupDocs.Search, od instalacji biblioteki i tworzenia indeksu po wykonywanie zarówno zapytań tekstowych, jak i obiektowo‑zorientowanych. Te techniki pozwalają dodać szybkie, oparte na wzorcach wyszukiwanie do dowolnej aplikacji Java, niezależnie od tego, czy tworzysz portal dokumentów, skaner zgodności, czy pipeline do eksploracji danych.

Najczęściej zadawane pytania

Q: Jaka jest różnica między zapytaniami regex opartymi na tekście a zapytaniami opartymi na obiekcie w GroupDocs.Search?
A: Zapytania oparte na tekście są szybkimi jednowierszowymi zapytaniami, podczas gdy zapytania oparte na obiekcie zapewniają wielokrotnego użytku, typowo‑bezpieczne definicje, które mogą być przechowywane i ponownie używane w wielu wyszukiwaniach.

Q: Czy GroupDocs.Search może indeksować dokumenty nientekstowe, takie jak PDF lub pliki Excel?
A: Tak, biblioteka wyodrębnia przeszukiwalny tekst z PDF, DOCX, XLSX, PPTX oraz ponad 30 innych formatów.

Q: Jak zaktualizować istniejący indeks wyszukiwania po dodaniu nowych plików?
A: Wywołaj index.add z nowymi lub zmodyfikowanymi dokumentami; biblioteka połączy zmiany bez przebudowy całego indeksu.

Q: Jakie są typowe pułapki przy używaniu regex z GroupDocs.Search?
A: Zbyt szerokie wzorce (np. .*) mogą powodować spadek wydajności, a niepoprawne wyrażenia mogą nie zwracać wyników. Zawsze najpierw testuj wzorce na próbce danych.

Q: Gdzie mogę znaleźć bardziej zaawansowane samouczki GroupDocs.Search?
A: Odwiedź GroupDocs Documentation po szczegółowe przewodniki, referencje API i przykładowe projekty.

Ostatnia aktualizacja: 2026-07-31
Testowano z: 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());

Powiązane samouczki