Come aggiungere la dipendenza Maven di GroupDocs per la rete di ricerca
In questa guida completa scoprirai how to add groupdocs Maven dependency, configurare una robusta rete di ricerca Java usando GroupDocs.Search e mantenere sincronizzati i tuoi shard. Che tu stia indicizzando atti legali, bilanci finanziari o articoli accademici, i passaggi seguenti ti aiuteranno a creare indici ricercabili, distribuire il carico delle query tra i nodi e mantenere la coerenza dei dati con il minimo sforzo.
Risposte rapide
- What is the GroupDocs Maven dependency? Un artefatto Maven che raggruppa la libreria GroupDocs.Search per progetti Java.
- Why use a search network? Distribuisce il carico di indicizzazione e delle query su più nodi, migliorando velocità e affidabilità.
- How do I add directories to index? Usa
IndexingDocuments.addDirectoriessul nodo master. - How to sync shards? Chiama
SynchronizeOptionssu ogniIndexerdel nodo. - Do I need a license? Sì, è necessaria una licenza di prova o commerciale per l’uso in produzione.
Cos’è la dipendenza Maven di GroupDocs?
Il GroupDocs Maven dependency è un artefatto Maven che raggruppa la libreria GroupDocs.Search per progetti Java.
Fornisce tutte le classi necessarie per creare indici ricercabili, gestire i nodi della rete ed eseguire query rapide, e Maven risolve automaticamente le dipendenze transitive, offrendoti un motore di ricerca pronto all’uso con poche righe nel tuo pom.xml.
Come aggiungere la dipendenza Maven di GroupDocs
Aggiungi le voci del repository e della dipendenza al tuo pom.xml, quindi esegui mvn clean install; Maven scarica il JAR groupdocs-search e le librerie richieste, rendendo l’API disponibile nel tuo progetto. Dopo che la build è completata con successo, puoi iniziare a utilizzare immediatamente le classi com.groupdocs.search .
Configurazione Maven
Aggiungi il repository e la dipendenza al tuo 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>
Consiglio: Mantieni il numero di versione aggiornato controllando la pagina ufficiale delle release.
Puoi anche scaricare il JAR direttamente dal sito ufficiale: GroupDocs.Search for Java releases.
Perché usare una rete di ricerca?
Una rete di ricerca consente la scalabilità orizzontale partizionando l’indice in shard che risiedono su nodi separati. GroupDocs.Search può gestire oltre 50 formati di input e processare documenti di centinaia di pagine senza caricare l’intero file in memoria, fornendo risposte alle query in meno di un secondo anche con l’aumento del volume dei dati.
Prerequisiti
- JDK (11 o superiore) installato.
- Un IDE come IntelliJ IDEA o Eclipse.
- Conoscenze di base di Java, familiarità con Maven e comprensione dei concetti di nodo di rete.
- Una licenza valida di GroupDocs.Search (prova gratuita o commerciale).
Inizializzazione e configurazione di base
Inizia creando una directory di indice:
import com.groupdocs.search.SearchIndex;
import com.groupdocs.search.options.IndexingOptions;
// Create an index in the specified directory
SearchIndex index = new SearchIndex("YOUR_INDEX_DIRECTORY");
Questa semplice operazione prepara l’ambiente per la successiva configurazione della rete.
Guida all’implementazione
Funzione 1: Configurazione della rete di ricerca
Panoramica
Configurare la rete di ricerca imposta i percorsi dei file e le porte che i nodi utilizzeranno per comunicare.
Configurazione di percorsi e porte
Configuration è una classe che contiene i percorsi di rete, le porte e altre impostazioni per il cluster di ricerca.
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.ConfiguringSearchNetwork;
// Set custom paths for input/output directories
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SynchronizingShards/";
int basePort = 49144; // Adjust if there's a port conflict
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
L’oggetto configuration ora contiene tutte le impostazioni necessarie per la tua rete di ricerca.
Funzione 2: Distribuzione dei nodi della rete di ricerca
Panoramica
Distribuisci i nodi per distribuire il carico di lavoro nella tua rete. Il nodo master gestisce le operazioni e gli eventi.
Codice di distribuzione
SearchNetworkNode rappresenta un nodo nella rete di ricerca che può fungere da master o worker.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.options.Configuration;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Retrieve the master node for further operations
SearchNetworkNode masterNode = nodes[0];
Funzione 3: Sottoscrizione agli eventi dei nodi della rete di ricerca
Panoramica
Ascoltare gli eventi consente di gestire dinamicamente le modifiche o gli aggiornamenti nella tua rete.
Implementazione della sottoscrizione
SearchNetworkNodeEvents fornisce hook di eventi per il ciclo di vita del nodo e le azioni di indicizzazione.
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;
SearchNetworkNodeEvents.subscribe(masterNode);
Funzione 4: Aggiunta di directory all’indice
Panoramica
Aggiungere directory è il passaggio fondamentale che rende i tuoi documenti ricercabili.
Aggiunta di documenti
IndexingDocuments.addDirectories aggiunge percorsi di cartelle all’indice per l’elaborazione.
import com.groupdocs.search.indexing.IndexingDocuments;
import com.groupdocs.search.scaling.SearchNetworkNode;
IndexingDocuments.addDirectories(masterNode, "YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
Funzione 5: Sincronizzazione degli shard nel nodo della rete di ricerca
Panoramica
La sincronizzazione garantisce la coerenza dei dati tra tutti gli shard.
Codice di sincronizzazione
SynchronizeOptions configura come gli shard vengono sincronizzati tra i nodi.
import com.groupdocs.search.indexing.Indexer;
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.options.SynchronizeOptions;
SearchNetworkNode node = null; // Assume 'node' is initialized as a SearchNetworkNode
def synchronizeShards(SearchNetworkNode node) {
Indexer indexer = node.getIndexer();
SynchronizeOptions options = new SynchronizeOptions();
indexer.synchronize(options);
}
Funzione 6: Chiusura dei nodi della rete di ricerca
Panoramica
Chiudere correttamente i nodi rilascia le risorse e previene perdite di memoria.
Chiusura del nodo
close() rilascia le risorse e spegne il nodo della rete di ricerca.
import com.groupdocs.search.scaling.SearchNetworkNode;
for (SearchNetworkNode node : nodes) {
node.close();
}
Applicazioni pratiche
- Legal Document Management – Recupera rapidamente fascicoli e precedenti.
- Financial Record Keeping – Accedi a estratti conto e tracciati di audit in pochi secondi.
- Academic Research – Cerca tra migliaia di articoli per trovare citazioni rilevanti.
Considerazioni sulle prestazioni
- Optimize Queries – Scrivi query concise per ridurre il tempo di risposta.
- Memory Management – Monitora l’uso dell’heap JVM; considera la messa a punto del GC per indici di grandi dimensioni.
- Scaling Strategy – Aggiungi nodi proporzionalmente al volume dei dati e al carico delle query.
Problemi comuni e soluzioni
| Problema | Causa | Soluzione |
|---|---|---|
| I nodi non riescono a connettersi | Conflitto di porta | Modifica basePort con un valore non utilizzato |
| L’indice non si aggiorna | Sottoscrizione agli eventi mancante | Assicurati che SearchNetworkNodeEvents.subscribe(masterNode) sia chiamato |
| Alta latenza | Shard insufficienti | Aumenta il numero di nodi e bilancia la distribuzione dei documenti |
Domande frequenti
Q: Qual è il beneficio principale dell’utilizzo di GroupDocs.Search?
A: Fornisce capacità di ricerca rapide e scalabili su grandi insiemi di documenti con configurazione minima.
Q: Posso personalizzare le configurazioni dei nodi in una rete di ricerca?
A: Sì, puoi impostare percorsi, porte e altre opzioni personalizzate tramite l’oggetto Configuration.
Q: Come aggiungo directory all’indice dopo che la rete è in esecuzione?
A: Chiama IndexingDocuments.addDirectories(masterNode, "path") ogni volta che devi indicizzare nuove cartelle.
Q: Come sincronizzare gli shard quando un nuovo nodo si unisce alla rete?
A: Usa il metodo synchronizeShards mostrato sopra sul nodo appena aggiunto.
Q: È necessaria una licenza per lo sviluppo?
A: Una licenza di prova gratuita è sufficiente per i test; è necessaria una licenza commerciale per la produzione.
Conclusione
Seguendo questa guida ora sai come add groupdocs Maven dependency, configurare una rete di ricerca multi‑nodo, indicizzare directory e mantenere sincronizzati gli shard. Questi passaggi costituiscono la base per una soluzione di ricerca documenti ad alte prestazioni che può crescere con le esigenze della tua organizzazione.
Ultimo aggiornamento: 2026-05-17
Testato con: GroupDocs.Search 25.4
Autore: GroupDocs