Come cercare documenti usando GroupDocs.Search Java
Nelle moderne applicazioni aziendali, come cercare documenti rapidamente e con precisione è un requisito critico. Che tu stia gestendo contratti, report o qualsiasi grande archivio di documenti, GroupDocs.Search per Java ti offre un motore di ricerca full‑text robusto con corrispondenza fuzzy integrata. Questo tutorial ti guida attraverso l’installazione della libreria, la creazione di un indice, l’aggiunta di documenti, la configurazione della fuzzy search Java e il recupero dei risultati — il tutto con spiegazioni chiare e conversazionali.
Risposte rapide
- Qual è il primo passo? Installa la libreria GroupDocs.Search Java via Maven o scaricala direttamente.
- Come creo un indice? Istanzia un oggetto
Indexche punta a una cartella su disco; la libreria costruisce automaticamente la struttura ricercabile. - Posso cercare con errori di battitura? Sì — abilita la fuzzy search per far corrispondere termini scritti in modo errato o con leggere variazioni.
- Come aggiungere documenti? Usa il metodo
addsull’istanzaIndex, passando la cartella che contiene i tuoi file. - Quale versione di Java è richiesta? JDK 8 o superiore è supportato.
Cos’è “come cercare documenti” nel contesto di GroupDocs.Search?
“Come cercare documenti” si riferisce al processo di costruzione di un indice ricercabile e all’emissione di query che restituiscono i file corrispondenti, opzionalmente usando la logica fuzzy per tollerare errori di ortografia. GroupDocs.Search gestisce la tokenizzazione, l’indicizzazione e il ranking dietro le quinte, così puoi concentrarti sulla logica di business.
Perché usare GroupDocs.Search per Java?
GroupDocs.Search supporta oltre 30 formati di file (inclusi DOCX, PDF, TXT, HTML e XLSX) e può indicizzare documenti di centinaia di pagine senza caricare l’intero file in memoria, fornendo risposte alle query in meno di un secondo su hardware server tipico. La sua capacità di fuzzy search migliora l’esperienza dell’utente restituendo risultati pertinenti anche quando le query contengono errori di battitura.
Prerequisiti
- Java Development Kit (JDK): versione 8 o successiva.
- IDE: IntelliJ IDEA, Eclipse o qualsiasi editor compatibile con Java.
- Libreria GroupDocs.Search per Java: aggiungi via Maven (consigliato) o scarica il JAR.
Come configurare GroupDocs.Search per Java?
Per iniziare, aggiungi la dipendenza GroupDocs.Search al tuo file di build, assicurati che l’URL del repository sia raggiungibile e verifica che la versione del JDK soddisfi il requisito minimo. Dopo che la libreria è stata risolta, puoi importare le sue classi nel tuo codice e creare una cartella indice su disco dove saranno memorizzati tutti i dati ricercabili.
Configurazione Maven
Aggiungi il repository e la dipendenza al tuo file pom.xml esattamente come mostrato nella guida originale.
<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, ottieni il JAR dalla pagina di rilascio ufficiale:
GroupDocs.Search for Java releases
GroupDocs.Search Documentation
Come creare un indice?
Crea una cartella indice persistente dove GroupDocs.Search memorizza i dati tokenizzati. Carica il tuo primo indice con una singola riga di codice — new Index("path/to/indexFolder"). La classe Index è il componente principale che rappresenta una collezione ricercabile di documenti in memoria e su disco.
import com.groupdocs.search.*;
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
Index index = new Index(indexFolder);
Come aggiungere documenti all’indice?
Usa il metodo add dell’istanza Index per puntare a una cartella contenente i tuoi file sorgente. Il motore scannerà ricorsivamente i formati supportati, estrarrà il contenuto testuale e aggiornerà le strutture interne. Questa singola chiamata gestisce grandi batch in modo efficiente, eliminando la necessità di elaborare manualmente file per file.
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentFolder);
Come configurare la fuzzy search Java?
La classe FuzzySearchOptions definisce parametri come la distanza di edit e la lunghezza del prefisso che controllano quanto la ricerca è tollerante agli errori di ortografia. L’oggetto SearchOptions raggruppa tutte le impostazioni di ricerca, incluse le opzioni fuzzy, i limiti di risultato e le preferenze di evidenziazione. Abilita la corrispondenza fuzzy impostando FuzzySearchOptions sull’oggetto SearchOptions. Questo indica al motore di considerare termini entro una distanza di edit configurabile, rendendo le ricerche tolleranti agli errori di ortografia.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/SearchResults";
Index index = new Index(indexFolder);
Come eseguire un’operazione di ricerca?
Chiama il metodo search sull’oggetto Index, fornendo la stringa di query e le SearchOptions configurate. Il motore elabora la richiesta, applica la corrispondenza fuzzy se abilitata e classifica i risultati in base ai punteggi di rilevanza. L’operazione si completa rapidamente anche su indici di grandi dimensioni perché la ricerca viene eseguita su strutture token pre‑costruite. Il metodo restituisce una collezione SearchResult contenente i documenti corrispondenti, il conteggio dei risultati e gli snippet evidenziati.
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentFolder);
Come elaborare e visualizzare i risultati della ricerca?
SearchResult è una collezione che contiene oggetti SearchResultItem individuali, ognuno dei quali descrive un documento corrispondente, il numero di occorrenze e gli snippet evidenziati. Itera sugli elementi di SearchResult e stampa il percorso di ogni documento, il numero di occorrenze e le frasi corrispondenti. Questo semplice ciclo ti consente di costruire tabelle UI, log o risposte API che mostrano esattamente perché un documento è stato corrisposto.
import com.groupdocs.search.options.*;
SearchOptions options = new SearchOptions();
options.getFuzzySearch().setEnabled(true);
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3));
Applicazioni pratiche
Scenari reali in cui come cercare documenti è importante:
- Gestione documenti legali: Individua clausole o parti in migliaia di contratti in pochi secondi.
- Ricerca accademica: Recupera articoli pertinenti anche se il termine di ricerca è scritto in modo errato.
- Enterprise Content Management: Alimenta i portali interni con una ricerca veloce e tollerante agli errori di battitura su report, email e presentazioni.
Considerazioni sulle prestazioni
- Aggiornamento indice: Riesegui
addoupdateogni volta che i file sorgente cambiano per mantenere i risultati aggiornati. - Gestione della memoria: GroupDocs.Search trasmette in streaming file di grandi dimensioni, così l’impronta di memoria rimane bassa anche per PDF di 500 pagine.
- Indicizzazione a blocchi: Dividi corpora massivi in più cartelle indice per parallelizzare l’elaborazione e migliorare la latenza delle query.
Domande frequenti
Q: Cos’è la fuzzy search Java e perché è utile?
A: La fuzzy search Java consente il matching approssimativo di stringhe, permettendo alle query di restituire risultati nonostante errori di battitura o ortografie alternative, migliorando l’esperienza dell’utente finale.
Q: Come aggiorno il mio indice dopo aver aggiunto nuovi file?
A: Richiama index.add("new/files/folder") di nuovo; la libreria unisce intelligentemente i nuovi contenuti senza ricostruire l’intero indice.
Q: GroupDocs.Search può gestire PDF protetti da password?
A: Sì — fornisci la password in DocumentLoadOptions quando aggiungi il file, e il motore decritterà e indicizzerà il contenuto.
Q: Esiste un limite al numero di documenti che posso indicizzare?
A: La libreria scala a milioni di file; le prestazioni dipendono dall’hardware e dallo storage, non da un limite hard‑coded.
Q: Dove posso trovare esempi più avanzati?
A: Visita la documentazione ufficiale per argomenti più approfonditi come analizzatori personalizzati e ranking dei risultati.
Conclusione
Ora sai come cercare documenti con GroupDocs.Search per Java, dalla creazione di un indice all’abilitazione della fuzzy search Java e all’elaborazione dei risultati. Implementa questi passaggi per offrire esperienze di ricerca veloci e tolleranti agli errori di battitura in qualsiasi applicazione basata su Java.
Ultimo aggiornamento: 2026-05-28
Testato con: GroupDocs.Search 23.10 for Java
Autore: GroupDocs
String query = "water OR \"Lorem ipsum\"";
SearchResult result = index.search(query, options);
for (int i = 0; i < result.getDocumentCount(); i++) {
FoundDocument document = result.getFoundDocument(i);
System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
System.out.println("\tOccurrences: " + document.getOccurrenceCount());
for (FoundDocumentField field : document.getFoundFields()) {
System.out.println("\t\tField: " + field.getFieldName());
if (field.getTerms() != null) {
for (int k = 0; k < field.getTerms().length; k++) {
System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]);
}
}
}
}