Bygg skalbart söknätverk – Indexera dokument med GroupDocs.Java

I den här handledningen kommer du att lära dig hur man lägger till dokument i index och bygger ett skalbart söknätverk med GroupDocs.Search för Java. Vi går igenom hur man konfigurerar ett söknätverk, distribuerar noder och hanterar händelser så att din applikation kan bearbeta stora dokumentsamlingar effektivt över flera servrar.

Snabba svar

  • Vad betyder “add documents to index”? Det betyder att infoga filer i ett sökbart index så att de kan frågas snabbt.
  • Vilket bibliotek tillhandahåller denna funktion? GroupDocs.Search för Java.
  • Behöver jag en licens? En tillfällig provlicens är tillgänglig; en kommersiell licens krävs för produktion.
  • Kan jag skala horisontellt? Ja—genom att distribuera flera SearchNetworkNode‑instanser.
  • Vilken Java‑version krävs? JDK 8 eller högre.

Vad innebär att lägga till dokument i index?

Läs in dina källfiler (PDF, DOCX, PPTX, etc.) i GroupDocs.Search‑motorn, som extraherar text, bygger term‑frekvenstabeller och lagrar dem i en indexfil. Det resulterande indexet möjliggör undersekundssökningar på nyckelord även i samlingar med flera hundra sidor.

Varför använda GroupDocs.Search för Java i en nätverksmiljö?

Distribuera indexerings- och sökbelastningar över flera noder, minska sökfördröjning genom att bearbeta nära datakällan, och lägg till eller ta bort noder utan driftstopp. Denna arkitektur låter dig söka över flera servrar samtidigt som prestandan förblir konsekvent.

Förutsättningar

  • Java Development Kit (JDK) 8+ installerat.
  • Maven för beroendehantering.
  • Grundläggande kunskap om Java och Maven‑projektstruktur.

Nödvändiga bibliotek, versioner och beroenden

För att implementera GroupDocs.Search för Java, inkludera följande i ditt Maven‑projekt:

<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>

Alternativt kan du ladda ner den senaste versionen från GroupDocs.Search for Java releases. Du kan också hitta versionerna på GroupDocs Search Java releases.

Krav för miljöuppsättning

  • JDK 8 eller högre installerat på ditt system.
  • Maven installerat och konfigurerat om du använder ett Maven‑projekt.

Kunskapsförutsättningar

  • Grundläggande förståelse för Java‑programmering.
  • Bekantskap med att hantera beroenden i Maven.

Konfigurera GroupDocs.Search för Java

  1. Maven‑setup: Lägg till repository och beroende som visas ovan i din pom.xml‑fil.
  2. Direkt nedladdning: Alternativt kan du ladda ner biblioteket från GroupDocs Search Java releases.

Licensanskaffning

  • Skaffa en gratis prov- eller tillfällig licens genom att besöka GroupDocs website.
  • För full åtkomst och support, överväg att köpa en kommersiell licens.

Grundläggande initiering

Initiera GroupDocs.Search i din Java‑applikation:

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.");
    }
}

Hur man lägger till dokument i index i ett söknätverk?

Läs in dina dokument via någon nod i nätverket; ramverket distribuerar automatiskt indexeringsarbetsbelastningen, balanserar lasten och uppdaterar det delade indexet i realtid. Varje nod bearbetar sina tilldelade filer, extraherar text och skriver inkrementella förändringar till det centrala indexet, vilket säkerställer att nyinlagt innehåll blir sökbart på alla noder nästan omedelbart.

Funktion 1: Konfigurera söknätverk

Översikt

Att konfigurera ett söknätverk innebär att sätta upp noder för att hantera och distribuera sökuppgifter effektivt.

Steg 1: Definiera basväg och port

Klassen SearchNetworkNode representerar en enskild nod som deltar i det distribuerade indexet.

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
Steg 2: Konfigurera nätverket

NetworkConfiguration innehåller de gemensamma inställningarna (basväg, portar, replikeringsfaktor) som varje nod läser vid uppstart.

import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

Funktion 2: Distribuera söknätverksnoder

Översikt

Distribuera noder för att sprida och hantera sökoperationer över ditt nätverk.

Steg 1: Distribuera noder med konfiguration

SearchNetworkNode‑instanser startas med samma konfigurationsfil, vilket låter dem upptäcka varandra via det definierade basportintervallet.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

Funktion 3: Prenumerera på nodhändelser

Översikt

Att prenumerera på nodhändelser låter dig övervaka och svara på olika åtgärder inom söknätverket.

Steg 1: Definiera prenumerationsmetod

NodeEventListener är ett gränssnitt du implementerar för att få återuppringningar för indexeringsframsteg, fel och förändringar i nodens hälsa.

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...
}
Steg 2: Använd prenumerationsmetod

Registrera din lyssnare med varje nod så att du får återkoppling i realtid under stora batch‑operationer.

SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);

Stänga noder

Stäng alltid ner noderna på ett kontrollerat sätt för att spola ut väntande skrivningar och frigöra nätverkssockets.

for (SearchNetworkNode node : nodes) {
    node.close();
}

Praktiska tillämpningar

  1. Enterprise Search Solutions – Implementera ett söknätverk för att hantera storskaliga dokumentsökningar över flera servrar.
  2. E‑commerce Platforms – Förbättra produktsökfunktioner genom att distribuera indexeringsuppgifter över flera noder.
  3. Content Management Systems (CMS) – Förbättra prestanda för innehållshämtning och uppdateringar i CMS‑miljöer.

Prestandaöverväganden

  • Optimera noddistribution baserat på ditt systems resurser.
  • Övervaka regelbundet minnesanvändning för att förhindra läckor, särskilt vid hantering av stora datamängder.
  • Använd konfigurationsinställningar för att finjustera indexerings- och sökoperationer för bättre effektivitet.

Vanliga problem och lösningar

ProblemTypisk orsakLösning
PortkonflikterbasePort redan i brukÄndra basePort till ett tillgängligt nummer
Nod ej nåbarBrandvägg eller nätverksreglerÖppna nödvändiga portar och verifiera anslutning
Index uppdateras inteFelaktig dokumentvägVerifiera att basePath pekar på rätt katalog
Hög minnesanvändningStorskalig batch‑indexeringIndexera dokument i mindre batcher eller öka heap‑storleken

Vanliga frågor

Q: Hur hanterar jag portkonflikter när jag distribuerar noder?
A: Ändra variabeln basePort i din konfigurationskod till en tillgänglig port.

Q: Kan GroupDocs.Search användas för real‑time indexering?
A: Ja, den stödjer real‑time indexering med lämpliga konfigurationer.

Q: Vilka är vanliga problem vid noddistribution?
A: Nätverksanslutning och felaktiga sökvägsinställningar är vanliga orsaker. Säkerställ att alla sökvägar och portar är korrekt konfigurerade.

Q: Är det möjligt att lägga till dokument i index efter att nätverket körs?
A: Absolut. Du kan anropa index.add(...) på vilken nod som helst, och nätverket kommer automatiskt att distribuera den nya arbetsbelastningen.

Q: Behöver jag en licens för utvecklingstestning?
A: En tillfällig provlicens räcker för testning; en kommersiell licens krävs för produktionsanvändning.

Resurser

Genom att följa den här guiden kan du effektivt lägga till dokument i index och hantera ett robust, bygga ett skalbart söknätverk med GroupDocs.Search för Java. Lycka till med kodningen!


Senast uppdaterad: 2026-05-22
Testat med: GroupDocs.Search 25.4 för Java
Författare: GroupDocs

Relaterade handledningar