Recherche plein texte Java : créer un index avec GroupDocs.Search

Réponses rapides

  • Qu’est‑ce que “java full text search” ? C’est le processus de création d’un index qui permet des requêtes texte rapides sur de nombreux fichiers dans une application Java.
  • Quelle bibliothèque gère cela immédiatement ? GroupDocs.Search for Java fournit l’indexation prête à l’emploi, la gestion du dictionnaire et l’exécution des requêtes.
  • Ai‑je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence complète est requise pour les déploiements en production.
  • Puis‑je personnaliser la gestion des caractères ? Absolument — utilisez le dictionnaire alphabétique pour définir des types de caractères personnalisés.
  • Maven est‑il obligatoire ? Maven simplifie la gestion des dépendances, mais vous pouvez également télécharger le JAR directement.

Qu’est‑ce que la recherche plein texte Java et pourquoi gérer un dictionnaire alphabétique ?

L’index java full text search stocke des représentations tokenisées de vos documents, permettant une recherche instantanée de mots ou de phrases. Le dictionnaire alphabétique indique au moteur comment traiter chaque caractère (lettre, chiffre, symbole), ce qui influence directement la tokenisation et la pertinence des recherches—en particulier pour les symboles spéciaux ou les règles propres à une langue.

Pourquoi utiliser GroupDocs.Search pour la recherche plein texte Java ?

GroupDocs.Search traite jusqu’à 10 000 documents sans les charger entièrement en mémoire, offrant des temps de requête inférieurs à une seconde. Il offre un contrôle complet sur les types de caractères, prend en charge plus de 50 formats d’entrée et de sortie, et s’étend horizontalement sur plusieurs serveurs, ce qui en fait le choix le plus robuste pour une recherche de niveau entreprise.

Prérequis

  • GroupDocs.Search for Java (dernière version).
  • Java 17 ou supérieur installé sur votre machine de développement.
  • Maven 3.6+ (ou la possibilité d’ajouter un JAR manuellement).

Bibliothèques requises, versions et dépendances

  • GroupDocs.Search for Java – dernière version stable.
  • Aucune bibliothèque tierce supplémentaire n’est requise pour l’indexation de base.

Exigences de configuration de l’environnement

Assurez‑vous de disposer d’un environnement compatible Maven. Si Maven n’est pas encore installé, téléchargez‑le depuis le site officiel : Apache Maven.

Prérequis de connaissances

Une familiarité avec la syntaxe Java et les I/O de fichiers sera utile, mais le guide pas à pas ci‑dessous couvre tout ce dont vous avez besoin.

Configuration de GroupDocs.Search pour Java

Configuration Maven

Ajoutez le dépôt et la dépendance à votre fichier 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>

Téléchargement direct

Si vous préférez ne pas utiliser Maven, récupérez le dernier JAR depuis la page officielle des releases : GroupDocs.Search for Java releases.

Étapes d’obtention de licence

  1. Essai gratuit – Commencez avec un essai pour explorer toutes les fonctionnalités.
  2. Licence temporaire – Demandez une clé temporaire pour des tests prolongés.
  3. Licence complète – Achetez une licence de production pour une utilisation illimitée.

Initialisation et configuration de base

Créez une instance Index qui pointe vers le dossier où l’index de recherche sera stocké :

import com.groupdocs.search.*;

public class SearchIndexSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
        Index index = new Index(indexFolder);
    }
}

Guide d’implémentation

Ci‑dessous se trouve un guide complet des opérations les plus courantes que vous effectuerez lors de la création d’une solution java full text search.

Création ou ouverture d’un index

La classe Index est l’objet principal qui représente une collection consultable stockée sur disque.

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
  • Paramètres : indexFolder – chemin où résident les fichiers d’index.
  • Objectif : Configure l’environnement de recherche pour l’indexation et les requêtes ultérieures.

Exportation du dictionnaire alphabétique vers un fichier

L’objet AlphabetDictionary contient les correspondances de types de caractères. L’exporter vous permet de réutiliser ou d’analyser la configuration plus tard.

import com.groupdocs.search.dictionaries.*;

String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
  • Paramètres : fileName – fichier de destination pour le dictionnaire exporté.

Vidage du dictionnaire alphabétique

Réinitialisez le dictionnaire à son état par défaut avant d’appliquer des règles personnalisées :

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCount() > 0) {
    index.getDictionaries().getAlphabet().clear();
}
  • Objectif : Supprime tous les types de caractères définis précédemment, assurant une base propre.

Importation du dictionnaire alphabétique depuis un fichier

Restaurez une configuration de dictionnaire précédemment sauvegardée :

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Paramètres : fileName – chemin vers le fichier .dat contenant le dictionnaire.

Définition du type de caractère dans le dictionnaire alphabétique

L’énumération CharacterType spécifie comment les caractères sont interprétés pendant la tokenisation. Personnalisez le traitement de caractères spécifiques. La valeur CharacterType.Blended indique au moteur de traiter le trait d’union comme faisant partie d’un mot plutôt que comme séparateur.

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
    index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
  • Paramètres : Le caractère ('-') et son nouveau CharacterType.
  • Pourquoi c’est important : Ajuster les types de caractères améliore la pertinence de la recherche pour les termes avec trait d’union, les identifiants ou les symboles personnalisés.

Indexation de documents depuis un dossier

Ajoutez tous les fichiers d’un répertoire à l’index de recherche en une seule opération :

import com.groupdocs.search.*;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
  • Paramètres : documentsFolder – dossier contenant les documents à indexer.

Recherche dans un index

La classe SearchResult contient la liste des documents correspondants et les extraits renvoyés par une requête. Exécutez une requête et récupérez les résultats correspondants :

import com.groupdocs.search.results.*;

String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
  • Paramètres : query – le texte recherché.
  • Résultat : Un objet SearchResult contenant les documents correspondants et les extraits.

Cas d’utilisation courants pour la recherche plein texte Java

  • Systèmes de gestion de contenu (CMS) : Accélérer la récupération d’articles et d’actifs.
  • Répertoires de documents juridiques : Localiser instantanément des clauses ou des références de cas.
  • Bibliothèques de recherche : Indexer des milliers de publications pour une recherche instantanée de mots‑clés.
  • Catalogues e‑commerce : Améliorer la recherche de produits avec une tokenisation personnalisée.
  • Portails de support client : Permettre aux agents de trouver rapidement les tickets ou articles de base de connaissances pertinents.

Considérations de performance

  • Mises à jour incrémentielles : Ré‑indexer uniquement les fichiers nouveaux ou modifiés pour garder l’index à jour sans reconstruction complète.
  • Optimisation des requêtes : Garder les requêtes concises ; éviter les recherches à caractères génériques trop larges.
  • Surveillance des ressources : Surveiller l’utilisation de la mémoire pendant l’indexation par lots importante—ajuster la taille du tas JVM si nécessaire.
  • Taille du dictionnaire : Exporter/Importer le dictionnaire alphabétique uniquement lorsqu’il est modifié ; les I/O inutiles peuvent ralentir le démarrage.

FAQ

Q : Quels sont les prérequis pour utiliser GroupDocs.Search ?
R : Installez Java 17+, Maven 3.6+ (ou téléchargez le JAR), et ajoutez la dépendance GroupDocs.Search.

Q : Comment obtenir une licence pour une utilisation en production ?
R : Commencez par un essai gratuit, demandez une clé temporaire pour des tests prolongés, puis achetez une licence complète sur le portail GroupDocs.

Q : Puis‑je personnaliser les types de caractères dans le dictionnaire alphabétique ?
R : Oui—utilisez les méthodes setRange ou set pour attribuer des valeurs CharacterType personnalisées à tout caractère ou plage.

Q : Est‑il possible d’exporter et d’importer le dictionnaire alphabétique ?
R : Absolument—utilisez les méthodes exportDictionary et importDictionary pour persister ou partager les configurations du dictionnaire.

Q : Avec quelle version ce guide a‑t‑il été testé ?
R : Les exemples ont été vérifiés avec GroupDocs.Search pour Java version 25.4.

Last Updated: 2026-09-06
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs

Tutoriels associés