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
Indexlorsqu’ils ne sont plus nécessaires.
Problèmes courants et solutions
| Problème | Solution |
|---|---|
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 connu | Assurez‑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 ralentit | Ajoutez 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
- Documentation: GroupDocs.Search Java Docs
- API reference: Java API Reference
- Download: Latest Releases
- GitHub repository: GroupDocs.Search for Java
- Support forum: GroupDocs Free Support
- Temporary license: Acquire a Temporary License
Dernière mise à jour: 2026-08-10
Testé avec: GroupDocs.Search 25.4
Auteur: GroupDocs