Esempio di ricerca full-text in Java con GroupDocs.Search
Se hai bisogno di un full text search example che funzioni su PDF, file Word, fogli di calcolo e altro, sei nel posto giusto. Scansionare manualmente migliaia di documenti è un collo di bottiglia enorme, ma GroupDocs.Search per Java automatizza l’indicizzazione e le query con una velocità fulminea. In questo tutorial vedremo tutto ciò che serve per partire— dall’aggiunta di documenti all’indice, alla creazione di istruzioni boolean query java, fino all’ottimizzazione delle prestazioni di ricerca per carichi di lavoro di produzione.
Risposte rapide
- What is full text search example? Indicizza il testo grezzo di ogni documento così puoi interrogare qualsiasi parola o frase istantaneamente.
- Which library supports multiple formats? GroupDocs.Search for Java gestisce PDF, DOCX, XLSX, PPTX, HTML, TXT e oltre 50 altri tipi di file.
- How do I add documents to index? Chiama il metodo
index.add()con il percorso di una cartella o unDocumentFilterpersonalizzato. - Can I run Boolean queries? Sì—combina i termini con AND, OR, NOT per risultati precisi.
- How do I improve performance? Usa l’indicizzazione incrementale, abilita il caching dei risultati e disabilita la ricerca fonetica se non necessaria.
Cos’è un full text search example?
Un full text search example ti consente di analizzare l’intero contenuto testuale dei documenti, archiviarlo in un indice efficiente e recuperare i record corrispondenti istantaneamente. A differenza delle ricerche basate solo sul nome del file, esamina il contenuto di PDF, documenti Word, fogli di calcolo e altri formati supportati, rendendolo ideale per sistemi di gestione documentale, portali di supporto e qualsiasi applicazione in cui gli utenti devono trovare rapidamente le informazioni.
Perché usare GroupDocs.Search per Java?
GroupDocs.Search per Java offre supporto multi‑formato per oltre 50 tipi di file, tra cui PDF, DOCX, XLSX, PPTX, HTML e testo semplice. Scala a milioni di file mantenendo un basso utilizzo di memoria grazie alla memorizzazione dell’indice su disco. La libreria include un linguaggio di query avanzato con ricerche Boolean, fuzzy e fonetiche integrate, e si integra con una singola dipendenza Maven, consentendoti di iniziare l’indicizzazione in pochi minuti.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Java 11+ (Java 8 funziona, ma Java 11 o versioni successive sono consigliate per migliori prestazioni).
- Maven per la gestione delle dipendenze.
- Una licenza GroupDocs.Search (una chiave di prova gratuita è sufficiente per lo sviluppo).
Librerie e dipendenze richieste
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>
Per un utilizzo dettagliato vedi la documentazione.
Configurazione dell’ambiente
- Installa il JDK (8 o versioni successive) e configura
JAVA_HOME. - Usa un IDE come IntelliJ IDEA o Eclipse per un debug più semplice.
Prerequisiti di conoscenza
- Concetti di programmazione Java di base.
- Familiarità con la struttura
pom.xmldi Maven.
Configurazione di GroupDocs.Search per Java
Puoi includere la libreria tramite Maven (come mostrato sopra) o scaricare il JAR manualmente.
Download diretto (se preferisci la configurazione manuale)
Scarica l’ultimo pacchetto da GroupDocs.Search per Java releases.
Passaggi per l’acquisizione della licenza
- Free trial – Registrati e ricevi una chiave temporanea.
- Temporary license – Richiedi una chiave a più lungo termine per test estesi.
- Purchase – Aggiorna a una licenza commerciale completa quando sei pronto per la produzione.
Inizializzazione e configurazione di base
Crea una cartella indice su disco e verifica che la libreria si carichi correttamente:
import com.groupdocs.search.Index;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index in the specified directory
Index index = new Index("C:\\MyIndex");
System.out.println("GroupDocs.Search initialized!");
}
}
Consiglio professionale: Mantieni la directory dell’indice su un SSD veloce per ridurre al minimo la latenza delle query.
Aggiunta di documenti all’indice
Perché è importante: Nessun risultato di ricerca è possibile senza contenuto indicizzato. Di seguito mostriamo come aggiungere cartelle intere o filtrare tipi di file specifici.
Passo 1: crea un indice
La classe Index è il contenitore ricercabile che memorizza i documenti indicizzati su disco.
Index index = new Index("C:\\MyIndex");
Passo 2: aggiungi documenti (add documents to index)
Puoi indicizzare tutto in una cartella o limitare a certe estensioni usando un DocumentFilter.
index.add("C:\\Documents\\*.*"); // Adds all documents from the specified directory
// For specific file types, use:
index.add("C:\\Reports", new DocumentFilter() {
@Override
public boolean accept(String fileName) {
return fileName.endsWith(".pdf") || fileName.endsWith(".docx");
}
});
Spiegazione:
Indexrappresenta il database ricercabile.add()importa i file; il wildcard*.*prende tutti i file, mentreDocumentFilterti consente di affinare il passo add documents to index.
Esecuzione di una ricerca (search documents java)
Ora che l’indice contiene dati, puoi interrogarlo.
Passo 1: crea una query
String query = "GroupDocs";
Passo 2: esegui la ricerca
SearchResult result = index.search(query);
System.out.println("Documents found: " + result.getDocumentCount());
Spiegazione:
search()esegue la query sull’indice.getDocumentCount()indica quanti documenti hanno corrisposto—utile per rapidi controlli di coerenza.
Tecniche di query avanzate (boolean query java)
Per un controllo preciso, combina i termini con la logica Boolean.
Query Boolean
La classe BooleanQuery ti permette di costruire espressioni complesse usando gli operatori AND, OR, NOT.
String booleanQuery = "GroupDocs AND Java";
SearchResult booleanResult = index.search(booleanQuery);
Ricerche fonetiche (opzionale per corrispondenza fuzzy)
La funzionalità PhoneticSearch abilita la corrispondenza fonetica per termini errati, ma aggiunge overhead.
index.getSettings().setPhoneticSearch(true);
Quando usarla: Abilita la ricerca fonetica solo se gli utenti spesso digitano termini in modo errato; altrimenti, tienila disabilitata per optimize search performance.
Problemi comuni e soluzioni
| Problem | Why it happens | Fix |
|---|---|---|
| Missing documents | Percorso del file errato o permessi insufficienti | Verifica il percorso e concedi l’accesso in lettura |
| Slow queries | Indice grande senza caching o ricerca fonetica non necessaria | Abilita il caching, disabilita la ricerca fonetica e considera di dividere l’indice |
| Out‑of‑Memory errors | La dimensione dell’indice supera l’heap JVM | Aumenta -Xmx o usa l’indicizzazione incrementale |
Applicazioni pratiche
GroupDocs.Search si distingue in scenari reali:
- Content management systems – Fornisce ricerca full‑text istantanea su articoli, PDF e risorse multimediali.
- Customer support portals – Gli agenti possono trovare manuali o politiche pertinenti in pochi secondi.
- Enterprise document repositories – Ricerca tra contratti, report e documenti di conformità senza spostare i dati in un database separato.
Considerazioni sulle prestazioni
Ottimizzazione delle prestazioni di ricerca
- Incremental indexing: Aggiungi o aggiorna solo i file modificati invece di ricostruire l’intero indice.
- Caching: Mantieni i risultati delle query più usate in memoria.
- Resource monitoring: Regola l’heap JVM (
-Xmx2go superiore) in base alla dimensione dell’indice.
Linee guida sull’uso delle risorse
- Conserva la cartella dell’indice su un SSD o NVMe veloce.
- Monitora CPU e memoria durante l’indicizzazione di massa; regola le operazioni batch per evitare picchi.
Best practice per la gestione della memoria Java
- Usa
try‑with‑resourcesquando lavori con gli stream. - Annulla (null) gli oggetti di grandi dimensioni dopo l’uso per aiutare il garbage collection.
Conclusione
Ora hai un full text search example completo e pronto per la produzione in Java usando GroupDocs.Search. Dalla configurazione della libreria, adding documents to index, alla creazione di istruzioni boolean query java, fino a optimizing search performance, ogni passaggio è coperto.
Prossimi passi
Esplora funzionalità più avanzate come analizzatori personalizzati, dizionari di sinonimi e integrazione con storage cloud consultando la GroupDocs.Search Documentation.
Domande frequenti
Q: Quali formati di file supporta GroupDocs.Search?
A: Oltre 50 formati, tra cui PDF, DOCX, XLSX, PPTX, HTML, TXT e molti tipi di immagine.
Q: Come devo gestire grandi dataset?
A: Suddividili in più indici, aggiornali in modo incrementale e abilita il caching dei risultati per mantenere bassa la latenza.
Q: GroupDocs.Search può funzionare in ambienti cloud?
A: Sì—puoi puntare la cartella dell’indice a uno storage cloud montato (ad esempio Azure Blob, AWS S3 tramite driver filesystem).
Q: Quali sono i vantaggi di GroupDocs.Search rispetto ad altre librerie?
A: Supporto multi‑formato, query Boolean/phonetic integrate, e un’API Java leggera che elabora milioni di documenti con un basso consumo di memoria.
Q: Come risolvere i problemi di prestazioni?
A: Controlla le impostazioni dell’indice, disabilita la ricerca fonetica se non necessaria e monitora l’uso di memoria/CPU della JVM durante l’indicizzazione e le query.
Last Updated: 2026-08-15
Tested With: GroupDocs.Search 25.4
Author: GroupDocs
Risorse
- Documentation: GroupDocs.Search Documentation
- API reference: API Reference Guide
- Download: Latest Releases
- GitHub: Source Code on GitHub
- Support: Forum and Community Support
- License: Request a Temporary License