Jak skonfigurować wyszukiwanie przy użyciu GroupDocs.Search w Javie

W dzisiejszym szybko zmieniającym się świecie cyfrowym, jak skonfigurować wyszukiwanie efektywnie może decydować o sukcesie projektu. Niezależnie od tego, czy obsługujesz tysiące 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 konfigurowanie 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.
  • Która wersja biblioteki jest wymagana? GroupDocs.Search for Java v25.4 lub nowsza.
  • Czy potrzebna jest licencja? Darmowa wersja próbna działa w celach ewaluacyjnych; licencja komercyjna jest wymagana w środowisku produkcyjnym.
  • Jak obsługiwane są aktualizacje w czasie rzeczywistym? Poprzez subskrypcję zdarzeń węzła, które wyzwalane są przy zmianach indeksowania.
  • Czy mogę dodawać nowe foldery dokumentów w locie? Tak — użyj metody addDirectories indeksera.

Co oznacza „jak skonfigurować wyszukiwanie” w kontekście GroupDocs?

Konfigurowanie wyszukiwania oznacza utworzenie 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 używać GroupDocs.Search dla Javy?

  • Skalowalność: Rozdzielaj obciążenia na wiele maszyn.
  • Aktualizacje w czasie rzeczywistym: Natychmiast odzwierciedlaj nowo zaindeksowane pliki w całej sieci.
  • Łatwość integracji: Prosta konfiguracja Maven i przejrzyste API Javy.
  • Gotowość dla przedsiębiorstw: Obsługuje duże korpusy i złożone scenariusze 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

Add the repository and dependency to your 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: Możesz również pobrać bibliotekę z GroupDocs.Search for Java releases.

Uzyskiwanie licencji

  • Free Trial: Uzyskaj licencję próbną, aby wypróbować wszystkie funkcje.
  • Temporary License: Poproś o tymczasową licencję na dłuższy okres oceny.
  • Commercial License: 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: Importuj wymagane pakiety

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);
  • Parameters: basePath wskazuje na folder z dokumentami; basePort to port TCP używany do komunikacji między węzłami.

Wdrażanie węzłów sieci wyszukiwania

Krok 1: Importuj pakiet wdrożeniowy

import com.groupdocs.search.scaling.SearchNetworkDeployment;
import com.groupdocs.search.scaling.SearchNetworkNode;

Krok 2: Wdroż węzły

String[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0]; // Designate the first node as the master node
  • Master Node: Koordynuje wyszukiwania i indeksowanie we wszystkich węzłach. Możesz skonfigurować ustawienia master node takie jak przydział shardów i kontrole zdrowia.

Subskrypcja zdarzeń węzła dla aktualizacji wyszukiwania w czasie rzeczywistym

Krok 1: Importuj pakiet zdarzeń

import com.groupdocs.search.scaling.SearchNetworkNodeEvents;

Krok 2: Subskrybuj zdarzenia master node

SearchNetworkNodeEvents.subscribe(masterNode);
  • Event Handling: Umożliwia aktualizacje wyszukiwania w czasie rzeczywistym za każdym razem, gdy dokumenty są dodawane, aktualizowane lub usuwane.

Dodawanie katalogów do indeksowania

Krok 1: Importuj pakiet indeksera

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");
  • Dynamic Indexing: Użyj metody addDirectories, aby dodać katalogi do indeksu w locie bez ponownego uruchamiania sieci.

Pobieranie zaindeksowanych dokumentów

Krok 1: Importuj pakiet 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
        }
    }
}
  • Shard Management: Efektywnie obsługuje duże zestawy danych, rozdzielając dokumenty na shardy. Aby optymalizować rozmiar sharda, monitoruj statystyki shardów i dostosuj konfigurację shardSize w przyszłych wersjach.

Dlaczego to ma znaczenie dla Twojego projektu

Poprawnie skonfigurowana sieć wyszukiwania eliminuje wąskie gardła, zmniejsza opóźnienia i zapewnia, że użytkownicy zawsze widzą najnowszą wersję dokumentu. Aktualizacje w czasie rzeczywistym oraz możliwość dodawania katalogów do indeksu bez przestojów są szczególnie cenne dla kancelarii prawnych, instytucji badawczych i każdej organizacji, która pracuje z nieustannie zmieniającymi się zbiorami dokumentów.

Praktyczne zastosowania

  1. Enterprise Document Management: Centralizuj wyszukiwanie wśród milionów plików.
  2. Legal Firms: Szybko znajdź akta spraw, umowy i dowody.
  3. Academic Research: Indeksuj czasopisma i artykuły w celu natychmiastowego pobierania.

Rozważania dotyczące wydajności

  • Optimize Indexing: Planuj regularne odświeżanie indeksu i usuwanie przestarzałych danych.
  • Memory Management: Monitoruj stertę JVM, szczególnie przy obsłudze dużych shardów.
  • Scalability Planning: Dodawaj węzły w miarę wzrostu korpusu; sieć automatycznie równoważy obciążenie.
  • Optimize shard size: Mniejsze shardy poprawiają opóźnienie zapytań, większe shardy zmniejszają narzut. Dostosuj w zależności od sprzętu i wzorców zapytań.

Typowe problemy i rozwiązania

ProblemPrzyczynaRozwiązanie
Węzły nie mogą się połączyćKonflikt portów lub zapora sieciowaUpewnij 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 braku pamięciZaładowano zbyt wiele dużych shardówZmniejsz rozmiar sharda lub zwiększ stertę JVM (flaga -Xmx)

Najczęściej zadawane pytania

Q: Czy mogę dodać nowe katalogi po uruchomieniu sieci?
A: Tak — użyj metody indexer.addDirectories(); subskrybowane zdarzenia będą propagować aktualizacje w czasie rzeczywistym.

Q: Jak monitorować stan zdrowia węzła?
A: Każdy SearchNetworkNode udostępnia API statusu; zintegrować z wybranym narzędziem monitorującym.

Q: Czy można uruchomić master node na osobnym komputerze?
A: Oczywiście. Wystarczy, aby wszystkie węzły używały tego samego basePort i mogły się ze sobą komunikować w sieci.

Q: Jakie formaty plików są obsługiwane?
A: GroupDocs.Search obsługuje PDF‑y, Word, Excel, PowerPoint, zwykły tekst i wiele innych od razu po instalacji.

Q: Czy muszę restartować sieć po dodaniu nowego węzła?
A: Nie — węzły mogą być dodawane lub usuwane dynamicznie; master node automatycznie zrównoważy shardy.

Zakończenie

Teraz, gdy wiesz jak skonfigurować wyszukiwanie przy użyciu GroupDocs.Search dla Javy, możesz tworzyć szybkie, skalowalne i niezawodne rozwiązania wyszukiwania dokumentów, które nadążają za rozwojem Twojej organizacji. Zastosuj te wzorce, aby stworzyć doświadczenia wyszukiwania w czasie rzeczywistym i rozproszone w każdej branży.


Ostatnia aktualizacja: 2026-05-02
Testowano z: GroupDocs.Search for Java 25.4
Autor: GroupDocs