Bouw schaalbaar zoeknetwerk – Documenten indexeren met GroupDocs.Java
In deze tutorial leer je hoe je documenten aan een index toevoegt en een schaalbaar zoeknetwerk opbouwt met GroupDocs.Search voor Java. We lopen door het configureren van een zoeknetwerk, het implementeren van knooppunten en het afhandelen van gebeurtenissen zodat je applicatie efficiënt grote documentcollecties over meerdere servers kan verwerken.
Snelle antwoorden
- Wat betekent “add documents to index”? Het betekent het invoegen van bestanden in een doorzoekbare index zodat ze snel kunnen worden opgevraagd.
- Welke bibliotheek biedt deze functionaliteit? GroupDocs.Search voor Java.
- Heb ik een licentie nodig? Een tijdelijke proeflicentie is beschikbaar; een commerciële licentie is vereist voor productie.
- Kan ik horizontaal schalen? Ja—door meerdere SearchNetworkNode‑instanties te implementeren.
- Welke Java‑versie is vereist? JDK 8 of hoger.
Wat is het toevoegen van documenten aan een index?
Laad je bronbestanden (PDF, DOCX, PPTX, enz.) in de GroupDocs.Search‑engine, die tekst extraheert, term‑frequentietabellen opbouwt en deze opslaat in een indexbestand. De resulterende index maakt sub‑seconde trefwoord‑queries mogelijk, zelfs bij collecties van honderden pagina’s.
Waarom GroupDocs.Search voor Java gebruiken in een netwerk‑omgeving?
Distribueer index‑ en zoekwerkbelastingen over meerdere knooppunten, verminder query‑latentie door verwerking dicht bij de gegevensbron, en voeg knooppunten toe of verwijder ze zonder downtime. Deze architectuur stelt je in staat om over meerdere servers te zoeken terwijl de prestaties consistent blijven.
Voorvereisten
- Java Development Kit (JDK) 8+ geïnstalleerd.
- Maven voor afhankelijkheidsbeheer.
- Basiskennis van Java en de Maven‑projectstructuur.
Vereiste bibliotheken, versies en afhankelijkheden
Om GroupDocs.Search voor Java te implementeren, voeg je het volgende toe aan je Maven‑project:
<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>
Alternatief kun je de nieuwste versie downloaden van GroupDocs.Search for Java releases. Je kunt de releases ook vinden op GroupDocs Search Java releases.
Vereisten voor omgeving configuratie
- JDK 8 of hoger geïnstalleerd op je systeem.
- Maven geïnstalleerd en geconfigureerd indien je een Maven‑project gebruikt.
Kennisvoorvereisten
- Basisbegrip van Java‑programmering.
- Vertrouwdheid met het beheren van afhankelijkheden in Maven.
GroupDocs.Search voor Java instellen
- Maven‑instelling: Voeg de repository en afhankelijkheid toe zoals hierboven weergegeven in je
pom.xml‑bestand. - Directe download: Download de bibliotheek alternatief van GroupDocs Search Java releases.
Licentie‑acquisitie
- Verkrijg een gratis proef- of tijdelijke licentie door de GroupDocs‑website te bezoeken.
- Voor volledige toegang en ondersteuning kun je overwegen een commerciële licentie aan te schaffen.
Basisinitialisatie
Initialiseer GroupDocs.Search in je Java‑applicatie:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index
Index index = new Index("path/to/index/directory");
// Add documents to the index
index.add("path/to/documents");
System.out.println("GroupDocs.Search setup complete.");
}
}
Hoe documenten toevoegen aan een index in een zoeknetwerk?
Laad je documenten via een willekeurig knooppunt in het netwerk; het framework verdeelt automatisch de indexeer‑werkbelasting, balanceert de belasting en werkt de gedeelde index in realtime bij. Elk knooppunt verwerkt zijn toegewezen bestanden, extraheert tekst en schrijft incrementele wijzigingen naar de centrale index, waardoor nieuw toegevoegde inhoud bijna onmiddellijk doorzoekbaar wordt op alle knooppunten.
Functie 1: Zoeknetwerk configureren
Overzicht
Het configureren van een zoeknetwerk omvat het opzetten van knooppunten om zoekopdrachten efficiënt te beheren en te distribueren.
Stap 1: Basispad en poort definiëren
De SearchNetworkNode‑klasse vertegenwoordigt een enkel knooppunt dat deelneemt aan de gedistribueerde index.
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
Stap 2: Het netwerk configureren
NetworkConfiguration bevat de gemeenschappelijke instellingen (basispad, poorten, replicatiefactor) die elk knooppunt bij opstarten leest.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
Functie 2: Zoeknetwerk‑knooppunten implementeren
Overzicht
Implementeer knooppunten om zoekbewerkingen over je netwerk te distribueren en af te handelen.
Stap 1: Knooppunten implementeren met configuratie
SearchNetworkNode‑instanties worden gestart met hetzelfde configuratie‑bestand, waardoor ze elkaar kunnen ontdekken via het gedefinieerde basis‑poortbereik.
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
Functie 3: Abonneren op knooppunt‑gebeurtenissen
Overzicht
Abonneren op knooppunt‑gebeurtenissen stelt je in staat om verschillende acties binnen het zoeknetwerk te monitoren en erop te reageren.
Stap 1: Abonnements‑methode definiëren
NodeEventListener is een interface die je implementeert om callbacks te ontvangen voor indexeer‑voortgang, fouten en wijzigingen in de gezondheid van knooppunten.
import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;
public static void subscribe(SearchNetworkNode node) {
// Subscribe to IndexingCompleted event
node.getEvents().IndexingCompleted.add(new EventHandler() {
@Override
public void invoke(Object s, EventArgs e) {
System.out.println("Indexing completed.");
}
});
// Additional events can be subscribed similarly...
}
Stap 2: Abonnements‑methode gebruiken
Registreer je listener bij elk knooppunt zodat je realtime feedback krijgt tijdens grote batch‑bewerkingen.
SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);
Knooppunten afsluiten
Sluit knooppunten altijd netjes af om wachtende schrijfbewerkingen te flushen en netwerksockets vrij te geven.
for (SearchNetworkNode node : nodes) {
node.close();
}
Praktische toepassingen
- Enterprise Search‑oplossingen – Implementeer een zoeknetwerk om grootschalige documentzoekopdrachten over meerdere servers af te handelen.
- E‑commerce platforms – Verbeter productzoekfunctionaliteit door indexeer‑taken over meerdere knooppunten te distribueren.
- Content Management Systems (CMS) – Verbeter de prestaties van content‑ophaling en -updates in CMS‑omgevingen.
Prestatie‑overwegingen
- Optimaliseer de implementatie van knooppunten op basis van de bronnen van je systeem.
- Houd het geheugengebruik regelmatig in de gaten om lekken te voorkomen, vooral bij het verwerken van grote datasets.
- Gebruik configuratie‑instellingen om indexeer‑ en zoekbewerkingen fijn af te stemmen voor betere efficiëntie.
Veelvoorkomende problemen en oplossingen
| Probleem | Typische oorzaak | Oplossing |
|---|---|---|
| Poortconflicten | basePort al in gebruik | Verander basePort naar een beschikbaar nummer |
| Knooppunt niet bereikbaar | Firewall‑ of netwerkregels | Open vereiste poorten en controleer de connectiviteit |
| Index wordt niet bijgewerkt | Onjuist documentpad | Controleer of basePath naar de juiste map wijst |
| Hoge geheugengebruik | Grote batch‑indexering | Indexeer documenten in kleinere batches of vergroot de heap‑grootte |
Veelgestelde vragen
Q: Hoe ga ik om met poortconflicten bij het implementeren van knooppunten?
A: Verander de basePort‑variabele in je configuratiecode naar een beschikbare poort.
Q: Kan GroupDocs.Search worden gebruikt voor realtime indexering?
A: Ja, het ondersteunt realtime indexering met de juiste configuraties.
Q: Wat zijn enkele veelvoorkomende problemen tijdens knooppunt‑implementatie?
A: Netwerkconnectiviteit en onjuiste padinstellingen zijn vaak de schuldige. Zorg ervoor dat alle paden en poorten correct zijn geconfigureerd.
Q: Is het mogelijk om documenten aan de index toe te voegen nadat het netwerk draait?
A: Absoluut. Je kunt index.add(...) aanroepen op elk knooppunt, en het netwerk zal de nieuwe werkbelasting automatisch distribueren.
Q: Heb ik een licentie nodig voor ontwikkel‑testen?
A: Een tijdelijke proeflicentie is voldoende voor testen; een commerciële licentie is vereist voor productiegebruik.
Bronnen
- Documentatie: GroupDocs Search Java Docs
- API‑referentie: GroupDocs API Reference
- Download: Latest Release
- GitHub: GroupDocs.Search GitHub Repository
- Gratis ondersteuning: GroupDocs Forum
- Tijdelijke licentie: Obtain a Temporary License
Door deze gids te volgen kun je effectief documenten aan een index toevoegen en een robuust, schaalbaar zoeknetwerk bouwen met GroupDocs.Search voor Java. Veel programmeerplezier!
Laatst bijgewerkt: 2026-05-22
Getest met: GroupDocs.Search 25.4 voor Java
Auteur: GroupDocs