java full text search – dodawanie dokumentów i scalanie z GroupDocs.Search
Szybkie odpowiedzi
- Co oznacza „add documents to index”? Informuje GroupDocs.Search, aby zeskanował folder, wyodrębnił tokeny do wyszukiwania i zapisał metadane dla każdego pliku.
- Czy mogę zatrzymać długie scalanie? Tak — użyj obiektu
Cancellation, aby przerwać scalanie po skonfigurowanym czasie oczekiwania. - Czy potrzebuję licencji? Darmowa wersja próbna lub tymczasowa licencja działa w testach; licencja komercyjna odblokowuje pełne funkcje.
- Jakiej wersji Javy wymaga? JDK 8 lub nowszy.
- Czy to nadaje się do dużych zestawów danych? Zdecydowanie — GroupDocs.Search radzi sobie z dokumentami liczącymi setki stron przy indeksowaniu przyrostowym.
Co oznacza „add documents to index” w GroupDocs.Search?
Dodawanie dokumentów do indeksu oznacza wprowadzenie kolekcji plików do GroupDocs.Search, aby biblioteka mogła analizować ich zawartość, wyodrębniać tokeny i budować strukturę danych umożliwiającą wyszukiwanie. Proces tworzy zwartą reprezentację, która umożliwia błyskawiczne zapytania pełnotekstowe we wszystkich zaindeksowanych plikach.
Dlaczego używać GroupDocs.Search do zarządzania dokumentami w Javie?
GroupDocs.Search zapewnia skalowalne indeksowanie dla ponad 50 formatów wejściowych (PDF, DOCX, XLSX, PPTX, HTML, obrazy itp.) i może przetwarzać dokumenty do 2 GB bez ładowania całego pliku do pamięci. Jego API daje precyzyjną kontrolę nad indeksowaniem, scalaniem i anulowaniem, co czyni go najlepszym wyborem dla rozwiązań klasy enterprise w zakresie java full text search.
Wymagania wstępne
- GroupDocs.Search for Java wersja 25.4 lub nowsza.
- Maven (lub ręczne pobranie JAR).
- Podstawowa znajomość Javy oraz środowisko JDK 8+.
Konfiguracja GroupDocs.Search dla Javy
Instalacja Maven
Jeśli zarządzasz zależnościami przy użyciu Maven, dodaj repozytorium i zależność do swojego 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>
Bezpośrednie pobranie
Alternatywnie, pobierz najnowszy JAR z oficjalnej strony: GroupDocs.Search for Java releases.
Uzyskanie licencji
- Free Trial: Zarejestruj się na stronie GroupDocs, aby uzyskać licencję próbną.
- Temporary License: Złóż wniosek o tymczasowy klucz, jeśli potrzebujesz dłuższej oceny.
- Commercial License: Kup licencję do użytku produkcyjnego.
Po uzyskaniu pliku licencji umieść go w projekcie i zainicjalizuj bibliotekę, jak pokazano później.
Przewodnik implementacji
Jak dodać dokumenty do indeksu – Tworzenie pierwszego indeksu
Załaduj lub utwórz pusty indeks, tworząc instancję klasy Index, która reprezentuje kontener wyszukiwalny na dysku. Ten krok przygotowuje miejsce przechowywania wszystkich tokenów, które zostaną wygenerowane z Twoich dokumentów.
import com.groupdocs.search.Index;
// Create an instance of the index at the specified path
Index index1 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index1");
- Dlaczego: Ten krok tworzy kontener przechowywania, w którym zostaną zapisane zaindeksowane tokeny.
Dodawanie dokumentów do indeksu
Wywołaj index.add z ścieżką do folderu; metoda skanuje każdy plik, wyodrębnia tekst i zapisuje metadane wyszukiwalne w indeksie. Operacja odbywa się w jednym przebiegu i respektuje skonfigurowane IndexSettings.
index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
- Dlaczego: Biblioteka odczytuje każdy plik, wyodrębnia tekst i zapisuje go w
index1.
Tworzenie drugiego indeksu dla elastycznych przepływów pracy
Utwórz kolejną instancję Index, aby przechowywać oddzielny zestaw dokumentów, umożliwiając izolowane przetwarzanie przed scaleniem. Ten wzorzec jest przydatny w scenariuszach multi‑tenant lub indeksowaniu etapowym.
Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
index2.add("YOUR_DOCUMENT_DIRECTORY");
- Dlaczego: Wiele indeksów pozwala zarządzać odrębnymi zestawami dokumentów i później je łączyć.
Jak skonfigurować opcje scalania i anulować operację scalania
Utwórz instancję MergeOptions, ustaw żądane parametry i dołącz token Cancellation, który przerywa scalanie po określonym czasie. Daje to pełną kontrolę nad zużyciem zasobów podczas dużych scaleni.
import com.groupdocs.search.options.MergeOptions;
import com.groupdocs.search.options.Cancellation;
MergeOptions options = new MergeOptions();
options.setCancellation(new Cancellation()); // Initialize cancellation object
options.getCancellation().cancelAfter(5000); // Cancel merge operation after 5 seconds
- Dlaczego:
Cancellationdaje możliwość automatycznego anulowania operacji scalania, zapobiegając niekontrolowanym zadaniom.
Scalanie indeksów
Wywołaj index1.merge(index2, mergeOptions); główny indeks wchłania wszystkie dokumenty z indeksu drugiego, zachowując integralność tokenów. Po scaleniu posiadasz jednolite repozytorium wyszukiwalne.
index1.merge(index2, options);
- Dlaczego: Po tym wywołaniu
index1zawiera wszystkie dokumenty z obu źródeł, zapewniając jednolite doświadczenie wyszukiwania.
Praktyczne zastosowania w zarządzaniu dokumentami w Javie
- Legal firms: Konsoliduj akta spraw z wielu biur w jeden wyszukiwalny indeks.
- Financial institutions: Scal kwartalne raporty w jednolite repozytorium dla szybkich zapytań audytowych.
- Enterprises: Połącz polityki HR, podręczniki zgodności i wewnętrzne przewodniki dla wyszukiwania w całej firmie.
Rozważania dotyczące wydajności
- Incremental indexing: Dodawaj nowe pliki okresowo zamiast przebudowywać cały indeks.
- Memory monitoring: Duże partie mogą zużywać pamięć RAM; przetwarzaj pliki w mniejszych partiach lub włącz tryb strumieniowy.
- Garbage collection: Zwolnij nieużywane obiekty
Indexniezwłocznie, aby uwolnić zasoby. - SSD storage: Przechowywanie plików indeksu na SSD może przyspieszyć scalanie nawet dwukrotnie.
Typowe problemy i rozwiązania
| Problem | Rozwiązanie |
|---|---|
| Nieprawidłowa ścieżka folderu | Sprawdź ścieżkę bezwzględną i upewnij się, że aplikacja ma uprawnienia do odczytu. |
| Niewystarczająca pamięć | Zwiększ przydział pamięci JVM (-Xmx) lub indeksuj pliki w partiach. |
| Anulowanie nie zostało wywołane | Upewnij się, że cancelAfter jest ustawione przed wywołaniem merge. |
| Nieobsługiwany format pliku | Zainstaluj dodatkowe wtyczki formatów z GroupDocs, jeśli to konieczne. |
Najczęściej zadawane pytania
Q: Dlaczego miałbym tworzyć wiele indeksów zamiast jednego?
A: Oddzielne indeksy pozwalają izolować domeny danych, stosować odrębne polityki bezpieczeństwa i scalać je tylko w razie potrzeby, co poprawia wydajność i organizację.
Q: Czy mogę anulować operację indeksowania tak samo jak anuluję scalanie?
A: Tak — użyj obiektu Cancellation z metodą add, aby zatrzymać długotrwałe zadania indeksowania.
Q: Jak zapewnić optymalną wydajność przy bardzo dużych zbiorach dokumentów?
A: Wykonuj indeksowanie przyrostowe, monitoruj pamięć JVM i przechowuj indeks na SSD. Rozważ użycie ustawienia BatchSize, aby ograniczyć liczbę dokumentów w pamięci.
Q: Co zrobić, gdy otrzymuję błąd „Access denied”?
A: Sprawdź uprawnienia folderu dla użytkownika uruchamiającego proces Java i upewnij się, że plik licencji jest czytelny.
Q: Czy GroupDocs.Search jest kompatybilny z innymi bibliotekami GroupDocs?
A: Zdecydowanie — możesz zintegrować go z GroupDocs.Viewer, GroupDocs.Conversion i innymi, aby zbudować pełne rozwiązanie dokumentacyjne.
Zakończenie
Korzystając z tego przewodnika, wiesz już, jak dodawać dokumenty do indeksu, konfigurować zachowanie scalania i bezpiecznie anulować operację scalania w razie potrzeby — wszystko w ramach solidnego java full text search. Eksperymentuj z większymi zestawami danych, odkrywaj własne tokenizatory lub łącz GroupDocs.Search z innymi produktami GroupDocs, aby stworzyć rozwiązanie klasy enterprise.
Zasoby
- Documentation: GroupDocs.Search Java Docs
- API Reference: GroupDocs API Reference
- Download: Latest Releases
- GitHub Repository: GroupDocs Search for Java
- Free Support Forum: GroupDocs Forum
- Temporary License Application: GroupDocs Temporary License
Last Updated: 2026-05-12
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs