Jak wyszukiwać dokumenty przy użyciu GroupDocs.Search Java

W nowoczesnych aplikacjach korporacyjnych jak wyszukiwać dokumenty szybko i dokładnie jest krytycznym wymogiem. Niezależnie od tego, czy masz do czynienia z kontraktami, raportami, czy jakimkolwiek dużym repozytorium dokumentów, GroupDocs.Search dla Java zapewnia solidny silnik wyszukiwania pełnotekstowego z wbudowanym dopasowywaniem fuzzy. Ten samouczek przeprowadzi Cię przez konfigurację biblioteki, tworzenie indeksu, dodawanie dokumentów, konfigurowanie fuzzy search w Java oraz pobieranie wyników — wszystko w jasnych, konwersacyjnych wyjaśnieniach.

Szybkie odpowiedzi

  • Jaki jest pierwszy krok? Zainstaluj bibliotekę GroupDocs.Search Java za pomocą Maven lub pobierz ją bezpośrednio.
  • Jak utworzyć indeks? Utwórz obiekt Index wskazujący na folder na dysku; biblioteka automatycznie buduje strukturę wyszukiwania.
  • Czy mogę wyszukiwać z literówkami? Tak — włącz fuzzy search, aby dopasowywać terminy z błędami ortograficznymi lub niewielkimi wariacjami.
  • Jak dodać dokumenty? Użyj metody add na instancji Index, przekazując folder zawierający Twoje pliki.
  • Jaka wersja Javy jest wymagana? Wspierany jest JDK 8 lub nowszy.

Co oznacza „jak wyszukiwać dokumenty” w kontekście GroupDocs.Search?

„Jak wyszukiwać dokumenty” odnosi się do procesu budowania indeksu przeszukiwalnego i wydawania zapytań zwracających pasujące pliki, opcjonalnie z użyciem logiki fuzzy, aby tolerować błędy ortograficzne. GroupDocs.Search zajmuje się tokenizacją, indeksowaniem i rankingiem w tle, dzięki czemu możesz skupić się na logice biznesowej.

Dlaczego warto używać GroupDocs.Search dla Java?

GroupDocs.Search obsługuje ponad 30 formatów plików (w tym DOCX, PDF, TXT, HTML i XLSX) i może indeksować dokumenty wielostronicowe bez ładowania całego pliku do pamięci, zapewniając odpowiedzi na zapytania w czasie krótszym niż sekunda na typowym sprzęcie serwerowym. Funkcja fuzzy search poprawia doświadczenie użytkownika, zwracając istotne wyniki nawet gdy zapytania zawierają literówki.

Wymagania wstępne

  • Java Development Kit (JDK): wersja 8 lub nowsza.
  • IDE: IntelliJ IDEA, Eclipse lub dowolny edytor kompatybilny z Javą.
  • Biblioteka GroupDocs.Search dla Java: dodaj przez Maven (zalecane) lub pobierz plik JAR.

Jak skonfigurować GroupDocs.Search dla Java?

Aby rozpocząć, dodaj zależność GroupDocs.Search do swojego pliku budowania, upewnij się, że URL repozytorium jest dostępny, oraz zweryfikuj, że wersja JDK spełnia minimalne wymagania. Po rozwiązaniu biblioteki możesz importować jej klasy w kodzie i utworzyć folder indeksu na dysku, w którym będą przechowywane wszystkie dane przeszukiwalne.

Konfiguracja Maven

Dodaj repozytorium i zależność do pliku pom.xml dokładnie tak, jak pokazano w oryginalnym przewodniku.

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

Bezpośrednie pobranie

Ewentualnie pobierz plik JAR z oficjalnej strony wydań:

GroupDocs.Search for Java releases

GroupDocs.Search Documentation

Jak utworzyć indeks?

Utwórz trwały folder indeksu, w którym GroupDocs.Search przechowuje tokenizowane dane. Załaduj swój pierwszy indeks jedną linią kodu — new Index("path/to/indexFolder"). Klasa Index jest podstawowym komponentem reprezentującym przeszukiwalną kolekcję dokumentów w pamięci i na dysku.

   import com.groupdocs.search.*;

   String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
   Index index = new Index(indexFolder);

Jak dodać dokumenty do indeksu?

Użyj metody add instancji Index, aby wskazać folder zawierający Twoje pliki źródłowe. Silnik będzie rekurencyjnie skanował obsługiwane formaty, wyodrębniał treść tekstową i aktualizował wewnętrzne struktury. To pojedyncze wywołanie obsługuje duże partie efektywnie, eliminując potrzebę ręcznego przetwarzania plik po pliku.

   String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
   index.add(documentFolder);

Jak skonfigurować fuzzy search w Java?

Klasa FuzzySearchOptions definiuje parametry takie jak odległość edycyjna i długość prefiksu, które kontrolują tolerancję wyszukiwania na błędy ortograficzne. Obiekt SearchOptions grupuje wszystkie ustawienia czasu wyszukiwania, w tym opcje fuzzy, limity wyników i preferencje podświetlania. Włącz dopasowanie fuzzy, ustawiając FuzzySearchOptions w obiekcie SearchOptions. Powoduje to, że silnik uwzględnia terminy w ramach konfigurowalnej odległości edycyjnej, czyniąc wyszukiwania tolerancyjnymi na literówki.

  String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
  Index index = new Index(indexFolder);

Jak wykonać operację wyszukiwania?

Wywołaj metodę search na obiekcie Index, podając ciąg zapytania oraz skonfigurowane SearchOptions. Silnik przetwarza żądanie, stosuje dopasowanie fuzzy, jeśli jest włączone, i ocenia wyniki na podstawie ocen trafności. Operacja kończy się szybko nawet przy dużych indeksach, ponieważ wyszukiwanie odbywa się na wstępnie zbudowanych strukturach tokenów. Metoda zwraca kolekcję SearchResult zawierającą dopasowane dokumenty, liczbę trafień i podświetlone fragmenty.

  String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
  index.add(documentFolder);

Jak przetwarzać i wyświetlać wyniki wyszukiwania?

SearchResult jest kolekcją, która przechowuje pojedyncze obiekty SearchResultItem, z których każdy opisuje dopasowany dokument, liczbę trafień oraz podświetlone fragmenty. Iteruj po elementach SearchResult i wypisuj ścieżkę każdego dokumentu, liczbę wystąpień oraz dopasowane frazy. Ta prosta pętla pozwala budować tabele UI, logi lub odpowiedzi API, które dokładnie pokazują, dlaczego dokument został dopasowany.

  import com.groupdocs.search.options.*;

  SearchOptions options = new SearchOptions();
  options.getFuzzySearch().setEnabled(true);
  options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3));

Praktyczne zastosowania

Real‑world scenarios where how to search documents matters:

  1. Zarządzanie dokumentami prawnymi: Znajdź klauzule lub strony w tysiącach kontraktów w ciągu sekund.
  2. Badania akademickie: Pobierz odpowiednie artykuły, nawet jeśli termin wyszukiwania jest błędnie zapisany.
  3. Zarządzanie treścią korporacyjną: Zasil wewnętrzne portale szybkim, tolerującym literówki wyszukiwaniem w raportach, e‑mailach i prezentacjach.

Rozważania dotyczące wydajności

  • Odświeżanie indeksu: Ponownie uruchom add lub update, gdy pliki źródłowe się zmienią, aby utrzymać aktualność wyników.
  • Zarządzanie pamięcią: GroupDocs.Search strumieniuje duże pliki, więc zużycie pamięci pozostaje niskie nawet przy 500‑stronicowych PDF‑ach.
  • Indeksowanie w partiach: Podziel ogromne korpusy na wiele folderów indeksu, aby równolegle przetwarzać i poprawić opóźnienie zapytań.

Najczęściej zadawane pytania

Q: Czym jest fuzzy search w Java i dlaczego jest przydatny?
A: Fuzzy search w Java umożliwia przybliżone dopasowanie ciągów znaków, pozwalając zapytaniom zwracać wyniki pomimo literówek lub alternatywnych pisowni, co poprawia doświadczenie końcowego użytkownika.

Q: Jak zaktualizować mój indeks po dodaniu nowych plików?
A: Ponownie wywołaj index.add("new/files/folder"); biblioteka inteligentnie łączy nową zawartość bez przebudowywania całego indeksu.

Q: Czy GroupDocs.Search może obsługiwać PDF‑y zabezpieczone hasłem?
A: Tak — podaj hasło w DocumentLoadOptions podczas dodawania pliku, a silnik odszyfruje i zaindeksuje zawartość.

Q: Czy istnieje limit liczby dokumentów, które mogę zaindeksować?
A: Biblioteka skaluje się do milionów plików; wydajność zależy od sprzętu i pamięci, a nie od sztywnego limitu.

Q: Gdzie mogę znaleźć bardziej zaawansowane przykłady?
A: Odwiedź oficjalną dokumentację, aby poznać bardziej zaawansowane tematy, takie jak własne analizatory i ranking wyników.

Podsumowanie

Teraz wiesz jak wyszukiwać dokumenty przy użyciu GroupDocs.Search dla Java, od tworzenia indeksu po włączenie fuzzy search w Java i przetwarzanie wyników. Zaimplementuj te kroki, aby zapewnić szybkie, tolerujące literówki doświadczenia wyszukiwania w każdej aplikacji opartej na Javie.

Ostatnia aktualizacja: 2026-05-28
Testowano z: GroupDocs.Search 23.10 for Java
Autor: GroupDocs

  String query = "water OR \"Lorem ipsum\"";
  SearchResult result = index.search(query, options);
  for (int i = 0; i < result.getDocumentCount(); i++) {
      FoundDocument document = result.getFoundDocument(i);
      System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
      System.out.println("\tOccurrences: " + document.getOccurrenceCount());

      for (FoundDocumentField field : document.getFoundFields()) {
          System.out.println("\t\tField: " + field.getFieldName());
          if (field.getTerms() != null) {
              for (int k = 0; k < field.getTerms().length; k++) {
                  System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]);
              }
          }
      }
  }

Powiązane samouczki