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 addDirectories indeksatora.

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: basePath wskazuje na folder z dokumentami; basePort to 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

  1. Zarządzanie dokumentami w przedsiębiorstwie: Centralizacja wyszukiwania wśród milionów plików.
  2. Kancelarie prawne: Szybkie odnajdywanie aktów spraw, umów i dowodów.
  3. 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

ProblemPrzyczynaRozwiązanie
Węzły nie mogą się połączyćKonflikt portu lub zaporaUpewnij 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‑memoryZbyt wiele dużych shardów w pamięciZmniejsz 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