Ricerca full text Java: crea indice con GroupDocs.Search
Nelle moderne applicazioni guidate dai dati, java full text search è il motore che ti permette di individuare informazioni istantaneamente tra migliaia di file. Questo tutorial ti guida passo passo—dall’aggiunta della dipendenza GroupDocs.Search alla messa a punto del dizionario alfabetico—così potrai fornire risultati di ricerca rapidi e precisi in qualsiasi progetto Java.
Risposte rapide
- Che cos’è “java full text search”? È il processo di costruzione di un indice che consente query testuali rapide su molti file in un’applicazione Java.
- Quale libreria gestisce questo pronto all’uso? GroupDocs.Search for Java fornisce indicizzazione pronta, gestione del dizionario e esecuzione delle query.
- Ho bisogno di una licenza? Una prova gratuita è perfetta per la valutazione; è necessaria una licenza completa per le distribuzioni in produzione.
- Posso personalizzare la gestione dei caratteri? Assolutamente—usa il dizionario alfabetico per definire tipi di carattere personalizzati.
- Maven è obbligatorio? Maven semplifica la gestione delle dipendenze, ma è anche possibile scaricare il JAR direttamente.
Cos’è java full text search e perché gestire un dizionario alfabetico?
L’indice java full text search memorizza rappresentazioni tokenizzate dei tuoi documenti, consentendo una ricerca istantanea di parole o frasi. Il dizionario alfabetico indica al motore come trattare ogni carattere (lettera, cifra, simbolo), influenzando direttamente la tokenizzazione e la rilevanza della ricerca—soprattutto per simboli speciali o regole specifiche di lingua.
Perché usare GroupDocs.Search per java full text search?
GroupDocs.Search elabora fino a 10.000 documenti senza caricarli interamente in memoria, garantendo tempi di query inferiori a un secondo. Offre pieno controllo sui tipi di carattere, supporta oltre 50 formati di input e output, e scala orizzontalmente su più server, rendendolo la scelta più robusta per la ricerca di livello enterprise.
Prerequisiti
- GroupDocs.Search for Java (ultima versione).
- Java 17 o superiore installato sulla tua macchina di sviluppo.
- Maven 3.6+ (o la possibilità di aggiungere un JAR manualmente).
Librerie richieste, versioni e dipendenze
- GroupDocs.Search for Java – ultima versione stabile.
- Nessuna libreria di terze parti aggiuntiva è necessaria per l’indicizzazione di base.
Requisiti di configurazione dell’ambiente
Assicurati di avere un ambiente compatibile con Maven. Se Maven non è ancora installato, scaricalo dal sito ufficiale: Apache Maven.
Prerequisiti di conoscenza
Familiarità con la sintassi Java e I/O di file sarà utile, ma la guida passo‑passo qui sotto copre tutto ciò di cui hai bisogno.
Configurazione di GroupDocs.Search per Java
Configurazione Maven
Add the repository and dependency to your pom.xml file:
<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
Se preferisci non usare Maven, scarica l’ultimo JAR dalla pagina ufficiale delle release: GroupDocs.Search for Java releases.
Passaggi per l’acquisizione della licenza
- Free trial – Inizia con una prova per esplorare tutte le funzionalità.
- Temporary license – Richiedi una chiave temporanea per test prolungati.
- Full license – Acquista una licenza di produzione per uso illimitato.
Inizializzazione e configurazione di base
Create an Index instance that points to the folder where the search index will be stored:
import com.groupdocs.search.*;
public class SearchIndexSetup {
public static void main(String[] args) {
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
}
}
Guida all’implementazione
Di seguito trovi una guida completa delle operazioni più comuni che eseguirai quando costruisci una soluzione java full text search.
Creazione o apertura di un indice
The Index class is the core object that represents a searchable collection stored on disk.
import com.groupdocs.search.*;
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
- Parameters:
indexFolder– percorso dove risiedono i file dell’indice. - Purpose: Configura l’ambiente di ricerca per l’indicizzazione e le query successive.
Esportazione del dizionario alfabetico su file
The AlphabetDictionary object holds character‑type mappings. Exporting it lets you reuse or analyse the configuration later.
import com.groupdocs.search.dictionaries.*;
String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
- Parameters:
fileName– file di destinazione per il dizionario esportato.
Pulizia del dizionario alfabetico
Reset the dictionary to its default state before applying custom rules:
import com.groupdocs.search.dictionaries.*;
if (index.getDictionaries().getAlphabet().getCount() > 0) {
index.getDictionaries().getAlphabet().clear();
}
- Purpose: Rimuove tutti i tipi di carattere precedentemente definiti, garantendo una base pulita.
Importazione del dizionario alfabetico da file
Restore a previously saved dictionary configuration:
import com.groupdocs.search.dictionaries.*;
index.getDictionaries().getAlphabet().importDictionary(fileName);
- Parameters:
fileName– percorso al file.datcontenente il dizionario.
Impostazione del tipo di carattere nel dizionario alfabetico
The CharacterType enum specifies how characters are interpreted during tokenization. Customize how specific characters are treated during tokenization. The CharacterType.Blended value tells the engine to treat the hyphen as part of a word rather than a separator.
import com.groupdocs.search.dictionaries.*;
if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
- Parameters: Il carattere (
'-') e il suo nuovoCharacterType. - Why it matters: Regolare i tipi di carattere migliora la rilevanza della ricerca per termini con trattino, ID o simboli personalizzati.
Indicizzazione dei documenti da una cartella
Add all files in a directory to the search index in one operation:
import com.groupdocs.search.*;
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
- Parameters:
documentsFolder– cartella contenente i documenti da indicizzare.
Ricerca in un indice
The SearchResult class contains the list of matched documents and snippets returned by a query. Execute a query and retrieve matching results:
import com.groupdocs.search.results.*;
String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
- Parameters:
query– il testo che stai cercando. - Result: Un oggetto
SearchResultcontenente i documenti corrispondenti e gli snippet.
Casi d’uso comuni per java full text search
- Content management systems (CMS): Velocizza il recupero di articoli e risorse.
- Legal document repositories: Individua clausole o riferimenti a casi istantaneamente.
- Research libraries: Indicizza migliaia di articoli per una ricerca istantanea di parole chiave.
- E‑commerce catalogs: Migliora la ricerca di prodotti con tokenizzazione personalizzata.
- Customer support portals: Consente agli operatori di trovare rapidamente ticket o articoli della knowledge‑base pertinenti.
Considerazioni sulle prestazioni
- Incremental updates: Re‑indicizza solo i file nuovi o modificati per mantenere l’indice aggiornato senza una ricostruzione completa.
- Query optimization: Mantieni le query concise; evita ricerche wildcard troppo ampie.
- Resource monitoring: Monitora l’uso della memoria durante l’indicizzazione di grandi batch—regola la dimensione dell’heap JVM se necessario.
- Dictionary size: Esporta/importa il dizionario alfabetico solo quando lo modifichi; I/O non necessario può rallentare l’avvio.
Domande frequenti
Q: Quali sono i prerequisiti per usare GroupDocs.Search?
A: Installa Java 17+, Maven 3.6+ (o scarica il JAR) e aggiungi la dipendenza GroupDocs.Search.
Q: Come posso ottenere una licenza per l’uso in produzione?
A: Inizia con una prova gratuita, richiedi una chiave temporanea per test prolungati, poi acquista una licenza completa dal portale GroupDocs.
Q: Posso personalizzare i tipi di carattere nel dizionario alfabetico?
A: Sì—usa i metodi setRange o set per assegnare valori CharacterType personalizzati a qualsiasi carattere o intervallo.
Q: È possibile esportare e importare il dizionario alfabetico?
A: Assolutamente—usa i metodi exportDictionary e importDictionary per persistere o condividere le configurazioni del dizionario.
Q: Con quale versione è stata testata questa guida?
A: Gli esempi sono stati verificati con GroupDocs.Search for Java versione 25.4.
Last Updated: 2026-09-06
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs