Hoe configureer je GroupDocs Search Network voor Java

In de snel veranderende digitale omgeving van vandaag zijn configure groupdocs search network vaardigheden essentieel voor elke organisatie die snel en betrouwbaar door miljoenen documenten moet zoeken. Een goed geconfigureerd zoeknetwerk verdeelt indexeer- en query‑werkbelastingen over meerdere JVM‑knooppunten, houdt de responstijden laag en garandeert hoge beschikbaarheid. Deze tutorial leidt je stap voor stap — van Maven‑configuratie en licentie‑activatie tot knooppunt‑implementatie, gebeurtenis‑abonnement, document‑indexering en zelfs op afbeeldingen gebaseerde zoekopdrachten — zodat je een productieklare GroupDocs.Search‑netwerk in Java kunt bouwen.

Snelle antwoorden

  • Wat is het primaire doel van een zoeknetwerk? Om indexeer- en query‑belasting over meerdere knooppunten te verdelen voor betere schaalbaarheid en betrouwbaarheid.
  • Welke poort gebruikt GroupDocs.Search standaard? Het voorbeeld gebruikt poort 49120, maar je kunt elke vrije poort kiezen.
  • Kan ik knooppunten toevoegen of verwijderen zonder downtime? Ja — knooppunten kunnen dynamisch worden ingezet of verwijderd.
  • Heb ik een licentie nodig voor productie? Een volledige licentie is vereist voor gebruik in productie; proeflicenties zijn beschikbaar voor evaluatie.
  • Wordt beeldzoekopdrachten direct ondersteund? Ja — GroupDocs.Search biedt ingebouwde afbeelding‑hash‑vergelijking.

Wat is een zoeknetwerk?

Een SearchNetworkNode is een individueel knooppunt in de cluster dat een kopie van de gedeelde index host en zoekverzoeken verwerkt. Een search network is een verzameling van onderling verbonden SearchNetworkNode‑instanties die indexeringsinformatie delen en gezamenlijk reageren op queries. Deze architectuur stelt je in staat om enorme documentcollecties te verwerken terwijl de responstijden laag blijven, en maakt automatische failover mogelijk als een knooppunt offline gaat.

Waarom GroupDocs.Search gebruiken voor Java?

Voorzie je Java‑applicatie van een zoekmachine die configure groupdocs search network in enkele minuten kan uitvoeren, horizontaal kan schalen en meer dan 30 bestandsformaten ondersteunt — waaronder PDF, DOCX, XLSX, PPTX en gangbare afbeeldingsformaten. Benchmarks tonen aan dat een cluster van drie knooppunten 500.000 documenten kan indexeren in minder dan 30 minuten op standaard serverhardware, terwijl de query‑latentie onder de 200 ms blijft, zelfs bij zware gelijktijdige belasting.

Voorvereisten

  • JDK 8+ geïnstalleerd op elke machine die een knooppunt zal draaien.
  • Een IDE zoals IntelliJ IDEA of Eclipse voor eenvoudig projectbeheer.
  • Maven voor afhankelijkheidsresolutie.
  • Basiskennis van Java‑netwerken (TCP‑poorten, firewalls) en multithreading‑concepten.

Vereiste bibliotheken en afhankelijkheden

Add the GroupDocs 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>

Alternatively, download the latest version from GroupDocs.Search for Java releases.

GroupDocs.Search voor Java instellen

Installatie via Maven

De bovenstaande Maven‑snippet haalt de bibliotheek automatisch in je project.

Licentie‑verwerving

  • Free Trial – verken de kernfuncties zonder creditcard.
  • Temporary License – verlengde testperiode voor interne pilots.
  • Full License – productie‑klaar, onbeperkt gebruik en prioriteitsondersteuning.

Basisinitialisatie en configuratie

De SearchNetworkDeployment‑klasse orkestreert de creatie en het beheer van het zoekcluster, behandelt de levenscyclus van knooppunten en gedeelde resources. Voordat je met een knooppunt kunt communiceren, moet je een SearchNetworkDeployment‑object aanmaken en dit wijzen naar een gedeelde indexmap. Het volgende code‑blok (ongewijzigd uit de originele tutorial) toont de minimale opstart:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index with the path to store index data.
        String indexPath = "path/to/index";
        Index index = new Index(indexPath);
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

Implementatie‑gids

We gaan nu elk kernonderdeel behandelen, met duidelijke stap‑voor‑stap‑uitleg die voorafgaat aan de originele code‑plaatsaanduidingen.

Hoe knooppunten te implementeren in een zoeknetwerk

Het implementeren van meerdere knooppunten verdeelt de werklast en verbetert de fouttolerantie. Een SearchNetworkNode vertegenwoordigt een individuele JVM‑instantie die deelneemt aan het zoekcluster, indexeer‑ en query‑verzoeken afhandelt. Door verschillende knooppunten op opeenvolgende poorten te starten, creëer je een veerkrachtig netwerk waarin elk knooppunt client‑aanroepen kan bedienen en de gemeenschappelijke index kan delen.

public class SearchNetworkDeployment {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if necessary.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
        
        System.out.println("Deployed " + nodes.length + " search network nodes.");
    }
}

Hoe gebeurtenissen te abonneren

Gebeurtenis‑abonnement geeft je realtime inzicht in de gezondheid van knooppunten, voortgang van indexering en fouten. De SearchNetworkEvents‑klasse biedt een reeks callbacks die worden geactiveerd bij belangrijke acties zoals voltooiing van indexering, knooppunt‑storingen of aangepaste meldingen. Het registreren van listeners op de master‑ of worker‑knooppunten maakt realtime monitoring en geautomatiseerde reacties mogelijk om het netwerk soepel te laten functioneren.

public class NodeEventSubscription {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Adjust if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchNetworkEvents.subscribe(nodes[0]);
        
        System.out.println("Subscribed to events for the master node.");
    }
}

Hoe documenten te indexeren

Efficiënte indexering is de ruggengraat van snelle zoekresultaten. Wanneer je mappen toevoegt aan het master‑knooppunt, scant de engine elk bestand, extraheert doorzoekbare inhoud en slaat deze op in de gedeelde indexstructuur. Dit proces kan incrementeel verlopen, waarbij alleen gewijzigde bestanden worden bijgewerkt, wat de I/O‑belasting vermindert en ervoor zorgt dat queries altijd de nieuwste documentversies weerspiegelen.

public class DocumentIndexing {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if there is a conflict.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        IndexingDocuments.addDirectories(nodes[0], "YOUR_DOCUMENT_DIRECTORY");
        
        System.out.println("Added directories to master node's index.");
    }
}

Hoe een afbeeldingzoekopdracht uit te voeren

GroupDocs.Search ondersteunt afbeelding‑hash‑vergelijking, waardoor je visueel vergelijkbare assets kunt vinden. De SearchImage‑klasse omsluit een afbeeldingsbestand en berekent een perceptuele hash die kan worden vergeleken met hashes die in de index zijn opgeslagen. Door een maximale hash‑verschil op te geven, beheer je de tolerantie van visuele gelijkenis, waardoor betrouwbare ontdekking van dubbele of gerelateerde afbeeldingen in de repository mogelijk is.

public class ImageSearch {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Modify if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchImage searchImage = SearchImage.create("YOUR_DOCUMENT_DIRECTORY/ic_arrow_back_black_18dp.png");

        imageSearch(nodes[0], searchImage, 8);
    }
}

Hoe netwerkpoorten te configureren

Als je omgeving al poort 49120 gebruikt, kun je deze wijzigen naar een willekeurige vrije TCP‑poort. De basePort‑parameter bepaalt het startpoortnummer voor het cluster, en elk volgend knooppunt verhoogt deze waarde automatisch. Zorg ervoor dat de gekozen poort openstaat in je firewall, niet bezet is door andere services, en consistent is geconfigureerd op alle knooppunten om naadloze communicatie te behouden.

int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);

Veelvoorkomende problemen & probleemoplossing

SymptoomWaarschijnlijke oorzaakOplossing
Knooppunten starten nietPoortconflictKies een andere basePort en werk de firewall‑regels bij.
Indexering is traagOnvoldoende I/O‑bandbreedteGebruik SSD‑opslag en schakel incrementele indexering in.
Gebeurtenisabonnement wordt niet geactiveerdOntbrekende registratie van event‑handlerZorg ervoor dat SearchNetworkEvents.subscribe(node) wordt aangeroepen voordat indexering begint.
Afbeeldingszoekopdracht geeft geen resultatenHash‑verschil te laagVerhoog het toegestane hash‑verschil (bijv. van 4 naar 8).

Veelgestelde vragen

Q: Hoe optimaliseer ik de indexeerprestaties in een GroupDocs.Search‑netwerk?
A: Gebruik incrementele indexering, sla de index op snelle SSD’s op, en wijs voldoende heap‑geheugen toe aan de JVM.

Q: Kan ik knooppunten toevoegen of verwijderen zonder het hele zoeknetwerk opnieuw op te starten?
A: Ja — knooppunten kunnen dynamisch worden ingezet of verwijderd. Na het toevoegen van een knooppunt, roep SearchNetworkDeployment.deploy opnieuw aan om de clusterweergave te verversen.

Q: Hoe verbetert gebeurtenisabonnement het netwerkbeheer?
A: Geabonneerde gebeurtenissen bieden realtime meldingen voor wijzigingen in knooppuntstatus, voortgang van indexering en fouten, waardoor proactieve probleemoplossing mogelijk wordt.

Q: Is het mogelijk om verschillende documentformaten tegelijk te doorzoeken?
A: Zeker. GroupDocs.Search ondersteunt PDF’s, Word, Excel, PowerPoint, afbeeldingen en vele andere formaten in één query.

Q: Hoe veilig zijn de gegevens in een GroupDocs.Search‑netwerk?
A: De beveiliging hangt af van je infrastructuur. Implementeer SSL/TLS voor knooppuntcommunicatie, beperk netwerktoegang, en volg best practices voor gegevensbescherming.


Laatst bijgewerkt: 2026-06-27
Getest met: GroupDocs.Search 25.4 for Java
Auteur: GroupDocs

Gerelateerde tutorials