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
- Maven‑setup: Lägg till repository och beroende som visas ovan i din
pom.xml‑fil. - 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
- Enterprise Search Solutions – Implementera ett söknätverk för att hantera storskaliga dokumentsökningar över flera servrar.
- E‑commerce Platforms – Förbättra produktsökfunktioner genom att distribuera indexeringsuppgifter över flera noder.
- 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
| Problem | Typisk orsak | Lösning |
|---|---|---|
| Portkonflikter | basePort redan i bruk | Ändra basePort till ett tillgängligt nummer |
| Nod ej nåbar | Brandvägg eller nätverksregler | Öppna nödvändiga portar och verifiera anslutning |
| Index uppdateras inte | Felaktig dokumentväg | Verifiera att basePath pekar på rätt katalog |
| Hög minnesanvändning | Storskalig batch‑indexering | Indexera 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
- Dokumentation: GroupDocs Search Java Docs
- API‑referens: GroupDocs API Reference
- Nedladdning: Latest Release
- GitHub: GroupDocs.Search GitHub Repository
- Gratis support: GroupDocs Forum
- Tillfällig licens: Obtain a Temporary License
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