Jak skonfigurować wyszukiwanie z GroupDocs.Search w Javie
W dzisiejszym szybkim świecie cyfrowym jak skonfigurować wyszukiwanie efektywnie może decydować o sukcesie projektu. Niezależnie od tego, czy masz do czynienia z tysiącami umów, prac badawczych czy wewnętrznych raportów, dobrze zaprojektowana sieć wyszukiwania pozwala znaleźć właściwy dokument w kilka sekund. Ten samouczek przeprowadzi Cię przez konfigurację sieci wyszukiwania, wdrażanie węzłów oraz włączanie aktualizacji wyszukiwania w czasie rzeczywistym z GroupDocs.Search dla Javy.
Szybkie odpowiedzi
- Jaki jest podstawowy cel sieci wyszukiwania? Aby rozłożyć indeksowanie i przetwarzanie zapytań na wiele węzłów w celu skalowalności i szybkości.
- Jakiej wersji biblioteki potrzebuję? GroupDocs.Search dla Javy v25.4 lub nowszej.
- Czy potrzebna jest licencja? Darmowa wersja próbna wystarcza do oceny; licencja komercyjna jest wymagana w środowisku produkcyjnym.
- Jak obsługiwane są aktualizacje w czasie rzeczywistym? Poprzez subskrypcję zdarzeń węzła, które wyzwalają się przy zmianach indeksowania.
- Czy mogę dodawać nowe foldery dokumentów w locie? Tak — użyj metody
addDirectoriesindeksatora.
Co oznacza „jak skonfigurować wyszukiwanie” w kontekście GroupDocs?
Konfiguracja wyszukiwania oznacza ustawienie sieci wyszukiwania, która wie, gdzie znajdują się Twoje dokumenty, jak węzły się komunikują i jak koordynowane jest indeksowanie. Po skonfigurowaniu sieci możesz dodawać lub usuwać węzły bez przestojów, zapewniając ciągły dostęp do aktualnych wyników wyszukiwania.
Dlaczego warto używać GroupDocs.Search dla Javy?
- Skalowalność: Rozkład obciążenia na wiele maszyn.
- Aktualizacje w czasie rzeczywistym: Natychmiastowe odzwierciedlanie nowo zaindeksowanych plików w całej sieci.
- Łatwość integracji: Proste ustawienie Maven i przejrzyste API w Javie.
- Gotowość przedsiębiorstwa: Obsługa dużych korpusów i złożonych scenariuszy zapytań.
Wymagania wstępne
- Java Development Kit (JDK) 8+ zainstalowany.
- Maven do zarządzania zależnościami.
- Podstawowa znajomość Javy, Maven oraz koncepcji wyszukiwania.
Konfiguracja GroupDocs.Search dla Javy
Zależność 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: Bibliotekę można również pobrać z Wydania GroupDocs.Search dla Javy.
Uzyskanie licencji
- Darmowa wersja próbna: Pobierz licencję próbną, aby wypróbować wszystkie funkcje.
- Licencja tymczasowa: Poproś o przedłużony okres oceny.
- Licencja komercyjna: Wymagana w środowiskach produkcyjnych.
Podstawowa inicjalizacja
import com.groupdocs.search.Configuration;
// Initialize configuration with your document path and port
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;
Configuration config = new Configuration(basePath, basePort);
Jak skonfigurować sieć wyszukiwania w Javie
Krok 1: Import wymaganych pakietów
import com.groupdocs.search.scaling.ConfiguringSearchNetwork;
import com.groupdocs.search.scaling.Configuration;
Krok 2: Skonfiguruj sieć
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
- Parametry:
basePathwskazuje na folder z dokumentami;basePortto port TCP używany do komunikacji węzłów.
Wdrażanie węzłów sieci wyszukiwania
Krok 1: Import pakietu wdrożeniowego
import com.groupdocs.search.scaling.SearchNetworkDeployment;
import com.groupdocs.search.scaling.SearchNetworkNode;
Krok 2: Wdrożenie węzłów
String[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0]; // Designate the first node as the master node
- Węzeł główny: Koordynuje wyszukiwania i indeksowanie we wszystkich węzłach.
Subskrypcja zdarzeń węzła dla aktualizacji wyszukiwania w czasie rzeczywistym
Krok 1: Import pakietu zdarzeń
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;
Krok 2: Subskrybuj zdarzenia węzła głównego
SearchNetworkNodeEvents.subscribe(masterNode);
- Obsługa zdarzeń: Umożliwia aktualizacje wyszukiwania w czasie rzeczywistym przy dodawaniu, aktualizacji lub usuwaniu dokumentów.
Dodawanie katalogów do indeksowania
Krok 1: Import pakietu indeksatora
import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.scaling.Indexer;
Krok 2: Dodaj katalogi dokumentów
Indexer indexer = masterNode.getIndexer();
indexer.addDirectories("YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
- Dynamiczne indeksowanie: Dodawaj dowolną liczbę folderów; sieć automatycznie je zaindeksuje.
Pobieranie zaindeksowanych dokumentów
Krok 1: Import pakietu wyszukiwarki
import com.groupdocs.search.scaling.Searcher;
import com.groupdocs.search.scaling.NetworkDocumentInfo;
Krok 2: Pobierz informacje o dokumencie
Searcher searcher = masterNode.getSearcher();
int[] shardIndices = masterNode.getShardIndices();
for (int i = 0; i < shardIndices.length; i++) {
int shardIndex = shardIndices[i];
NetworkDocumentInfo[] infos = searcher.getIndexedDocuments(shardIndex);
for (NetworkDocumentInfo info : infos) {
int nodeIndex = masterNode.getNodeIndex(info.getShardIndex());
String filePath = info.getDocumentInfo().getFilePath();
// Retrieve and process document attributes
String[] attributes = indexer.getAttributes(filePath);
NetworkDocumentInfo[] items = searcher.getIndexedDocumentItems(info);
for (NetworkDocumentInfo item : items) {
// Process each indexed item
}
}
}
- Zarządzanie shardami: Efektywnie obsługuje duże zestawy danych, rozdzielając dokumenty na shardy.
Praktyczne zastosowania
- Zarządzanie dokumentami w przedsiębiorstwie: Centralizacja wyszukiwania wśród milionów plików.
- Kancelarie prawne: Szybkie odnajdywanie aktów spraw, umów i dowodów.
- Badania akademickie: Indeksowanie czasopism i prac w celu natychmiastowego dostępu.
Rozważania dotyczące wydajności
- Optymalizacja indeksowania: Planuj regularne odświeżanie indeksu i usuwanie przestarzałych danych.
- Zarządzanie pamięcią: Monitoruj stertę JVM, szczególnie przy obsłudze dużych shardów.
- Planowanie skalowalności: Dodawaj węzły w miarę wzrostu korpusu; sieć automatycznie równoważy obciążenie.
Typowe problemy i rozwiązania
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Węzły nie mogą się połączyć | Konflikt portu lub zapora | Upewnij się, że basePort jest otwarty i nie jest używany przez inne usługi |
| Indeks nie aktualizuje się | Brak subskrypcji zdarzeń | Wywołaj SearchNetworkNodeEvents.subscribe(masterNode) po wdrożeniu |
| Błędy Out‑of‑memory | Zbyt wiele dużych shardów w pamięci | Zmniejsz rozmiar shardu lub zwiększ stertę JVM (-Xmx flag) |
Najczęściej zadawane pytania
P: Czy mogę dodać nowe katalogi po uruchomieniu sieci?
O: Tak — użyj metody indexer.addDirectories(); subskrybowane zdarzenia będą propagować aktualizacje w czasie rzeczywistym.
P: Jak monitorować stan węzła?
O: Każdy SearchNetworkNode udostępnia API statusu; zintegrować je z wybranym narzędziem monitorującym.
P: Czy można uruchomić węzeł główny na osobnym komputerze?
O: Oczywiście. Wystarczy, aby wszystkie węzły używały tego samego basePort i mogły się ze sobą komunikować w sieci.
P: Jakie formaty plików są obsługiwane?
O: GroupDocs.Search obsługuje PDF, Word, Excel, PowerPoint, zwykły tekst i wiele innych formatów od razu po instalacji.
P: Czy po dodaniu nowego węzła trzeba restartować sieć?
O: Nie — węzły mogą być dodawane i usuwane dynamicznie; węzeł główny automatycznie zrównoważy shardy.
Zakończenie
Masz już kompletną, krok‑po‑kroku wiedzę o jak skonfigurować wyszukiwanie przy użyciu GroupDocs.Search dla Javy, od początkowej konfiguracji po aktualizacje w czasie rzeczywistym i rozproszone indeksowanie. Wykorzystaj te wzorce, aby budować szybkie, skalowalne i niezawodne rozwiązania wyszukiwania dokumentów w dowolnej branży.
Ostatnia aktualizacja: 2026-01-08
Testowano z: GroupDocs.Search dla Javy 25.4
Autor: GroupDocs