Créer un index de recherche java : ajouter des documents avec recherche sensible à la casse

Dans les applications Java modernes, creating a searchable index java est la base d’une récupération rapide et précise des informations à partir de grandes collections de documents. Ce tutoriel vous montre comment ajouter des documents à un index, activer la recherche sensible à la casse et affiner le processus avec GroupDocs.Search. Que vous construisiez un référentiel juridique, un catalogue e‑commerce ou un système de gestion de contenu, ces étapes vous aideront à fournir des résultats précis qui satisfont les utilisateurs.

Réponses rapides

  • Quelle est l’étape principale pour commencer la recherche ? Add documents to an index with index.add(...).
  • Comment activer la recherche sensible à la casse ? Set options.setUseCaseSensitiveSearch(true).
  • Pouvez‑vous rechercher dans plusieurs répertoires ? Yes – call index.add() for each folder you want to include.
  • Quelle méthode permet de rechercher avec des objets ? Use SearchQuery.createWordQuery(...).
  • Avez‑vous besoin d’une licence pour les tests ? A temporary license is available for trial purposes.

Que signifie « ajouter des documents à l’index » ?

Ajouter des documents à un index signifie alimenter vos fichiers sources (PDF, documents Word, texte brut, etc.) dans GroupDocs.Search afin qu’il puisse construire une structure de données recherchable. L’index stocke les termes tokenisés, les positions et les métadonnées, permettant au moteur d’exécuter des requêtes rapides, y compris sensibles à la casse, et de classer les résultats efficacement.

Pourquoi activer la recherche sensible à la casse en Java ?

Activer la recherche sensible à la casse garantit que le moteur distingue les termes qui ne diffèrent que par la casse des lettres, ce qui est crucial pour les domaines où la capitalisation a une signification. Cela permet une correspondance exacte des termes, prend en charge les exigences de conformité réglementaire et améliore la pertinence en renvoyant des résultats qui correspondent précisément à la casse de la requête de l’utilisateur.

  • Exact term matching – par ex., « Apple » (entreprise) vs. « apple » (fruit).
  • Regulatory compliance – de nombreuses industries exigent une correspondance précise des phrases.
  • Improved relevance – les utilisateurs techniques et juridiques s’attendent souvent à des résultats spécifiques à la casse.

Prérequis

  • JDK 17 ou ultérieur (recommandé)
  • Maven pour la gestion des dépendances
  • Un IDE tel qu’IntelliJ IDEA ou Eclipse
  • Familiarité de base avec la programmation Java

Configuration de GroupDocs.Search pour Java

Le fragment Maven suivant ajoute le dépôt GroupDocs.Search et la dépendance requise à votre projet.

<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>

Alternativement, vous pouvez télécharger la dernière version directement depuis GroupDocs.Search for Java releases.

Licence

Pour commencer avec un essai, rendez‑vous sur GroupDocs pour obtenir une licence temporaire. Cela vous permettra de tester toutes les fonctionnalités sans aucune limitation.

Comment créer un index de recherche java – recherche par requête texte

Étape 1 : créer un index et ajouter vos documents

La classe Index représente une zone de stockage recherchable sur disque où les documents sont indexés.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInTextForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Astuce : Vous pouvez appeler index.add() plusieurs fois pour rechercher dans plusieurs répertoires dans un seul index.

Étape 2 : activer la recherche sensible à la casse

SearchOptions configure la façon dont les requêtes sont traitées, y compris la sensibilité à la casse et d’autres comportements de recherche.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Étape 3 : exécuter une requête texte sensible à la casse

SearchQuery construit l’objet de requête que le moteur évalue contre l’index.

String query = "Advantages";
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

La boucle affiche le chemin complet de chaque document contenant le terme exactement correspondant à la casse.

Comment créer un index de recherche java – recherche par requête d’objet

Étape 1 : initialiser un deuxième index (optionnel)

Une seconde instance Index peut être créée pour isoler les recherches basées sur des objets des recherches en texte brut.

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInObjectForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

Étape 2 : réutiliser l’option sensible à la casse

SearchOptions peut être réutilisé entre différents types de requêtes pour maintenir une gestion cohérente de la casse.

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

Étape 3 : construire et exécuter une requête d’objet

WordQuery représente une recherche au niveau du mot qui peut être combinée avec d’autres types de requêtes pour des recherches complexes.

SearchQuery query = SearchQuery.createWordQuery("Advantages");
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

Utiliser createWordQuery vous permet de le combiner ultérieurement avec des requêtes de phrase, des jokers ou booléennes pour des scénarios plus complexes.

Applications pratiques

  • Legal document management: Récupérer des textes juridiques spécifiques où la capitalisation compte.
  • E‑commerce platforms: Distinguer les SKU de produits comme « PRO‑X » vs. « pro‑x ».
  • Content management systems (CMS): Garantir que les auteurs trouvent les titres ou tags exacts.

Considérations de performance

  • Keep the index up‑to‑date – ré‑indexer lorsque de nouveaux fichiers sont ajoutés ou que les existants changent.
  • Monitor memory usage – les grands corpus bénéficient d’un indexation incrémentale et d’une taille de tas JVM appropriée.
  • Leverage Java’s garbage collector – libérer les objets Index lorsqu’ils ne sont plus nécessaires.

Problèmes courants et solutions

ProblèmeSolution
useCaseSensitiveSearch semble ignoréVérifiez que vous utilisez la dernière version de GroupDocs.Search et que l’index a été reconstruit après avoir modifié l’option.
Aucun résultat retourné pour un terme connuAssurez‑vous que la casse du terme correspond exactement et que le document a été ajouté avec succès à l’index.
La recherche dans de nombreux dossiers ralentitAjoutez chaque dossier individuellement avec index.add() et envisagez de diviser l’index en fragments pour des ensembles de données très volumineux.

Questions fréquemment posées

Q: Comment gérer de grands ensembles de données avec GroupDocs.Search ?
A: Utilisez le partitionnement d’index, ajustez les paramètres de mémoire JVM, et compactez périodiquement l’index pour maintenir des performances optimales.

Q: Puis‑je rechercher simultanément dans plusieurs répertoires ?
A: Oui – appelez index.add() pour chaque répertoire que vous souhaitez inclure, puis exécutez une seule requête contre l’index combiné.

Q: Quels sont les pièges courants lors de la configuration des recherches sensibles à la casse ?
A: Oublier de reconstruire l’index après avoir activé useCaseSensitiveSearch, ou utiliser la mauvaise casse dans la chaîne de requête.

Q: Comment dépanner les erreurs de recherche ?
A: Vérifiez les fichiers journaux générés par GroupDocs.Search pour les traces de pile, et confirmez que toutes les dépendances Maven sont correctement résolues.

Q: GroupDocs.Search est‑il adapté aux applications en temps réel ?
A: Avec des stratégies d’indexation appropriées (mises à jour incrémentales et mise en cache en mémoire), il peut fournir des résultats de recherche quasi en temps réel.

Ressources


Dernière mise à jour: 2026-08-10
Testé avec: GroupDocs.Search 25.4
Auteur: GroupDocs

Tutoriels associés