Eseguire la ricerca di testo con GroupDocs.Search per Java
Ottimizzazione delle prestazioni
Come implementare e ottimizzare una rete di ricerca con GroupDocs.Search per Java
Introduzione
Nel mondo odierno guidato dai dati, la capacità di perform text search rapidamente su collezioni massicce di documenti è un vantaggio competitivo. Che tu stia costruendo una base di conoscenza interna, un repository di casi legali o un catalogo di prodotti e‑commerce, una rete di ricerca ben ottimizzata può migliorare drasticamente la soddisfazione degli utenti. In questa guida imparerai a set up search network, create searchable index, optimize search performance, e anche a delete documents index quando necessario—tutto utilizzando GroupDocs.Search per Java.
Cosa imparerai
- Configurare una rete di ricerca con GroupDocs.Search
- Distribuire i nodi all’interno della rete
- Indicizzare i documenti in modo efficiente (
index documents java) - Eseguire ricerche di testo nella tua rete (
perform text search) - Eliminare documenti specifici dall’indice (
delete documents index)
Approfondiamo come puoi sfruttare queste funzionalità per creare un’esperienza di ricerca ottimizzata.
Risposte rapide
- Qual è lo scopo principale di GroupDocs.Search per Java? Fornisce la ricerca full‑text su molti formati di documento.
- Come eseguo la ricerca di testo in un ambiente distribuito? Distribuisci una rete di ricerca, indicizza i documenti su un nodo master, poi interroga qualsiasi nodo.
- Posso eliminare documenti dall’indice senza ricostruirlo? Sì, usa l’API Delete per rimuovere i file selezionati.
- Quale versione di Java è richiesta? JDK 8 o superiore.
- È necessaria una licenza per la produzione? È richiesta una licenza valida di GroupDocs.Search; è disponibile una prova gratuita.
Cos’è “perform text search”?
Eseguire una ricerca di testo significa interrogare un indice full‑text per recuperare i documenti che contengono le parole chiave o le frasi specificate. GroupDocs.Search costruisce un indice invertito che rende queste ricerche estremamente rapide, anche su migliaia di file.
Perché configurare una rete di ricerca?
Una rete di ricerca distribuisce i carichi di indicizzazione e di interrogazione su più nodi, consentendoti di optimize search performance, scalare orizzontalmente e mantenere alta disponibilità. Questa architettura è ideale per repository di documenti a livello enterprise dove latenza e throughput sono importanti.
Prerequisiti
- Librerie richieste: GroupDocs.Search per Java versione 25.4 (ultima).
- Ambiente: Java JDK 8+, Maven.
- Conoscenze: Programmazione Java di base e familiarità con i concetti di rete.
Configurazione di GroupDocs.Search per Java
Per iniziare, integra GroupDocs.Search nel tuo progetto Java utilizzando la seguente configurazione:
Configurazione Maven
Aggiungi il repository e la dipendenza al tuo file 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>
Download diretto
In alternativa, puoi scaricare l’ultima versione direttamente da GroupDocs.
Acquisizione della licenza
GroupDocs offre una prova gratuita, che ti consente di valutare le sue funzionalità prima dell’acquisto. Puoi ottenere una licenza temporanea seguendo i passaggi sulla loro pagina di acquisto. Questo abiliterà la piena funzionalità durante la fase di test.
Inizializzazione e configurazione di base
Inizializza GroupDocs.Search nella tua applicazione Java con:
import com.groupdocs.search.*;
class SearchNetworkSetup {
public static void main(String[] args) {
Index index = new Index("path/to/index/directory");
// Additional configuration can be set here.
}
}
Guida all’implementazione
Configurazione della rete di ricerca
Panoramica: Stabilire un percorso base e una porta per la tua rete di ricerca, consentendo ai nodi di comunicare efficacemente.
Passo 1: Definire la configurazione di base
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104; // Change if necessary.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
- Parametri:
basePath: Percorso della directory per le operazioni di rete.basePort: Numero di porta utilizzato dalla rete di ricerca.
Passo 2: Risoluzione dei problemi
Assicurati che la porta specificata non sia bloccata dalle impostazioni del firewall o utilizzata da un’altra applicazione. Regola le impostazioni se necessario per evitare conflitti.
Distribuzione dei nodi della rete di ricerca
Panoramica: Utilizzando la tua configurazione, distribuisci i nodi nella tua rete per indicizzazione e ricerca distribuite.
import com.groupdocs.search.scaling.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Nodes are now deployed and ready for further operations.
- Opzioni di configurazione chiave:
- Base Path & Port: Questi valori devono corrispondere a quelli usati nella configurazione iniziale per garantire coerenza.
Indicizzazione dei documenti (create searchable index)
Panoramica: Aggiungi i documenti all’indice di ricerca in modo efficiente usando un nodo master.
import com.groupdocs.search.scaling.*;
String documentsPath = "YOUR_DOCUMENT_DIRECTORY/path/to/documents";
SearchNetworkNode masterNode = nodes[0];
IndexingDocuments.addDirectories(masterNode, documentsPath);
- Scopo:
masterNode: Il nodo primario che gestisce l’indicizzazione dei documenti.documentsPath: Percorso della directory contenente i documenti.
Suggerimenti per la risoluzione dei problemi
Verifica che i percorsi dei documenti siano corretti e accessibili. Assicurati che le autorizzazioni consentano la lettura di queste directory.
Ricerca di testo nella rete (perform text search)
Panoramica: Esegui ricerche di testo complete nella tua rete indicizzata.
import com.groupdocs.search.scaling.*;
String query = "nulla";
SearchNetworkNode masterNode = nodes[0];
TextSearchInNetwork.searchAll(masterNode, query, false);
- Parametri:
query: Il testo che stai cercando.masterNode: Nodo che esegue la ricerca.
Eliminazione di documenti dall’indice (delete documents index)
Panoramica: Rimuovi documenti specifici dal tuo indice usando i loro percorsi file.
import com.groupdocs.search.scaling.*;
SearchNetworkNode node = nodes[0];
String[] filePaths = {
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf",
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx"
};
deleteDocuments(node, filePaths);
void deleteDocuments(SearchNetworkNode node, String... filePaths) {
Indexer indexer = node.getIndexer();
DeleteOptions options = new DeleteOptions();
indexer.delete(filePaths, options);
}
- Scopo del metodo:
node: Il nodo di destinazione per le operazioni di eliminazione.filePaths: Percorsi dei documenti da rimuovere dall’indice.
Risoluzione dei problemi
Assicurati che i percorsi file siano precisi e che i file esistano nella tua directory. Se i problemi persistono, controlla le autorizzazioni di rete e la connettività.
Applicazioni pratiche
- Gestione documentale aziendale: Ottimizza il recupero della conoscenza interna.
- Analisi di casi legali: Trova rapidamente i fascicoli pertinenti attraverso più repository.
- Piattaforme e‑commerce: Incrementa la velocità di ricerca dei prodotti indicizzando descrizioni e recensioni.
- Ricerca accademica: Cerca in modo efficiente grandi biblioteche digitali di articoli e tesi.
- Sistemi di supporto clienti: Riduci i tempi di risposta consentendo agli operatori di cercare immediatamente i ticket precedenti.
Considerazioni sulle prestazioni
- Ottimizzare la velocità di indicizzazione: Aggiungi incrementalmente nuovi documenti durante le ore non di punta per mantenere bassa la latenza.
- Linee guida sull’uso delle risorse: Monitora CPU e memoria, specialmente quando aumenti il numero di nodi.
- Gestione della memoria Java: Regola le impostazioni dell’heap JVM in base al carico di lavoro (ad es.,
-Xmx2gper indici di dimensioni medie).
Conclusione
Seguendo questa guida hai imparato come set up search network, create searchable index, perform text search e delete documents index utilizzando GroupDocs.Search per Java. Queste funzionalità consentono un recupero di documenti rapido e affidabile in ambienti distribuiti.
Passi successivi
- Sperimenta diverse configurazioni dei nodi per trovare l’equilibrio ottimale per il tuo carico di lavoro.
- Approfondisci le opzioni avanzate di indicizzazione come analizzatori personalizzati e la messa a punto della rilevanza.
- Esplora l’integrazione con altri prodotti GroupDocs per l’elaborazione documentale end‑to‑end.
Domande frequenti
Q: Qual è il caso d’uso principale per GroupDocs.Search per Java?
A: Fornisce la ricerca full‑text su molti formati di documento, consentendoti di perform text search in grandi repository.
Q: Come posso migliorare la velocità di ricerca in una rete ampia?
A: Distribuisci nodi aggiuntivi, ottimizza l’heap JVM e programma l’indicizzazione durante periodi a basso traffico per optimize search performance.
Q: È possibile eliminare un singolo documento senza re‑indicizzare l’intera collezione?
A: Sì, utilizza l’API delete documents index mostrata nell’esempio di codice per rimuovere file specifici.
Q: Ho bisogno di una licenza per lo sviluppo?
A: Una licenza di prova gratuita è sufficiente per i test; è necessaria una licenza commerciale per le distribuzioni in produzione.
Q: Posso indicizzare PDF, file Word ed e‑mail insieme?
A: Assolutamente—GroupDocs.Search supporta una vasta gamma di formati fin da subito.
Last Updated: 2026-01-16
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs