Comment rechercher avec des synonymes en Java avec GroupDocs.Search
Si vous souhaitez que vos utilisateurs trouvent le bon contenu même lorsqu’ils saisissent des mots différents, la recherche avec synonymes est la solution. Dans ce guide, nous passerons en revue tout ce que vous devez savoir — création d’un dictionnaire de synonymes, importation/exportation, gestion des groupes de synonymes, et enfin exécution d’une recherche qui étend automatiquement les requêtes à l’aide de ces synonymes. Que vous construisiez un CMS, un catalogue e‑commerce ou un référentiel de documents juridiques, ajouter la prise en charge des synonymes peut augmenter considérablement la pertinence et les taux de conversion.
Réponses rapides
- Quelle est l’étape principale pour ajouter des synonymes ? Initialise un
Indexet utilise l’APISynonymDictionary. - Puis-je importer un dictionnaire de synonymes ? Oui – utilise
importDictionary(path)pour charger un fichier pré‑construit. - Comment activer la recherche avec synonymes ? Définit
SearchOptions.setUseSynonymSearch(true). - Est‑il possible de gérer les groupes de synonymes ? Absolument – vous pouvez effacer, ajouter ou récupérer des groupes via l’API du dictionnaire.
- Que faut‑il considérer lors de l’optimisation de l’index de recherche ? Supprimez régulièrement les entrées inutilisées et ajustez le tas JVM pour les grands ensembles de données.
Qu’est‑ce que la recherche avec synonymes ?
« Recherche avec synonymes » signifie que le moteur considère un ensemble de mots ou de phrases comme interchangeables. Lorsqu’un utilisateur saisit « better », le moteur recherche également « improve », « enhance », ou tout autre terme que vous avez défini dans le même groupe de synonymes, offrant des résultats plus riches sans modifier la requête de l’utilisateur.
Pourquoi activer la prise en charge des synonymes dans GroupDocs.Search ?
- Meilleure expérience utilisateur : Les visiteurs trouvent des documents pertinents même s’ils utilisent une terminologie différente.
- Taux de conversion plus élevés : Les plateformes e‑commerce capturent plus de ventes en faisant correspondre des termes produits variés.
- Maintenance simplifiée : Un dictionnaire central peut servir plusieurs applications, rendant les mises à jour sans effort.
Prérequis
- GroupDocs.Search for Java version 25.4 ou plus récente.
- Un IDE Java (IntelliJ IDEA, Eclipse, etc.) avec prise en charge de Maven.
- Connaissances de base en Java et familiarité avec la structure de projet Maven.
Bibliothèques requises et versions
- GroupDocs.Search for Java version 25.4 ou supérieure.
Configuration de l’environnement
- IDE de votre choix (IntelliJ IDEA, Eclipse, etc.).
- Maven pour la gestion des dépendances.
Compétences requises
- Programmation orientée objet en Java.
- Opérations de base d’E/S de fichiers.
Configuration de GroupDocs.Search pour Java
Informations d’installation
Ajoutez le référentiel et la dépendance à votre 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 – vous pouvez également télécharger le dernier JAR depuis GroupDocs.Search for Java releases.
Acquisition de licence
- Essai gratuit : Testez les fonctionnalités de base sans licence.
- Licence temporaire : Prolongez les capacités d’essai pendant l’évaluation.
- Achat : Nécessaire pour une utilisation en production et l’ensemble complet des fonctionnalités.
Initialisation et configuration de base
Créez une instance Index, puis ajoutez les documents à rendre recherchables :
import com.groupdocs.search.*;
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/ManagingDictionaries/SynonymDictionary/Index";
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath2";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Adding documents from a specific folder to the index
index.add(documentsFolder);
Comment ajouter des synonymes à votre index de recherche
Créer un index est la base. Ci-dessous, nous parcourons les étapes essentielles, chacune accompagnée du code exact dont vous avez besoin.
Fonctionnalité 1 : Création et indexation d’un index
// Create an index in the specified folder
Index index = new Index(indexFolder);
// Add documents from the given folder to the index
index.add(documentsFolder);
Fonctionnalité 2 : Récupération des synonymes d’un mot
String[] synonyms = index.getDictionaries().getSynonymDictionary().getSynonyms("make");
Fonctionnalité 3 : Récupération des groupes de synonymes
String[][] synonymGroups = index.getDictionaries().getSynonymDictionary().getSynonymGroups("make");
Fonctionnalité 4 : Gestion des entrées du dictionnaire de synonymes
if (index.getDictionaries().getSynonymDictionary().getCount() > 0) {
index.getDictionaries().getSynonymDictionary().clear();
}
String[][] newSynonymGroups = new String[][]{
new String[] { "achieve", "accomplish", "attain", "reach" },
new String[] { "accept", "take", "have" },
new String[] { "improve", "better" }
};
index.getDictionaries().getSynonymDictionary().addRange(newSynonymGroups);
Fonctionnalité 5 : Exportation des synonymes vers un fichier
String exportFilePath = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/ManagingDictionaries/SynonymDictionary/Synonyms.dat";
index.getDictionaries().getSynonymDictionary().exportDictionary(exportFilePath);
Fonctionnalité 6 : Importation des synonymes depuis un fichier
index.getDictionaries().getSynonymDictionary().importDictionary(exportFilePath);
Fonctionnalité 7 : Exécution d’une recherche avec prise en charge des synonymes
String query = "better";
SearchOptions options = new SearchOptions();
options.setUseSynonymSearch(true);
SearchResult result = index.search(query, options);
Comment rechercher avec des synonymes
En activant setUseSynonymSearch(true), le moteur étend automatiquement la requête en utilisant le dictionnaire de synonymes que vous avez créé ou importé. Cette étape est cruciale pour fournir des résultats plus riches sans modifier le comportement de recherche de l’utilisateur.
Comment importer un dictionnaire de synonymes
Si vous avez déjà un fichier .dat préparé par un autre environnement, appelez simplement importDictionary(path). C’est idéal pour synchroniser les dictionnaires entre les serveurs de développement, de préproduction et de production.
Comment gérer les groupes de synonymes
Les groupes de synonymes vous permettent de traiter un ensemble de termes comme une entité logique unique. Ajouter, effacer ou récupérer des groupes se fait via l’API SynonymDictionary, comme illustré dans les extraits de code ci‑dessus.
Comment optimiser l’index de recherche
- Supprimez régulièrement les entrées inutilisées : Utilisez
clear()avant les mises à jour en masse. - Ajustez le tas JVM : Les grands dictionnaires peuvent nécessiter plus de mémoire.
- Maintenez la bibliothèque à jour : Les nouvelles versions contiennent des améliorations de performance.
Applications pratiques
- Content Management Systems (CMS) : Les utilisateurs trouvent les articles même lorsqu’ils utilisent une terminologie alternative.
- E‑commerce Platforms : Les recherches de produits deviennent tolérantes aux synonymes comme « laptop » vs. « notebook ».
- Document Repositories : Les archives juridiques ou médicales bénéficient de groupes de synonymes spécifiques au domaine.
Considérations de performance
- Optimisez le stockage de l’index : Reconstruisez périodiquement l’index pour supprimer les données obsolètes.
- Gérez l’utilisation de la mémoire : Surveillez la consommation du tas lors du chargement de gros fichiers de synonymes.
- Mises à jour régulières : Restez sur la dernière version de GroupDocs.Search pour les corrections de bugs et les gains de vitesse.
Problèmes courants et solutions
| Problème | Cause probable | Solution |
|---|---|---|
| Aucun résultat de synonymes n’apparaît | setUseSynonymSearch(true) non configuré ou dictionnaire non importé | Vérifiez que l’option est activée et que le fichier de dictionnaire existe. |
| Erreurs de dépassement de mémoire lors de l’importation | Fichier .dat très volumineux dépasse le tas JVM | Augmentez la taille du tas -Xmx ou importez par lots plus petits. |
| Entrées dupliquées dans les résultats | Le même terme apparaît dans plusieurs groupes de synonymes | Consolidez les groupes qui se chevauchent en utilisant clear() puis addRange(). |
Questions fréquemment posées
Q : Quelle est la configuration système minimale pour utiliser GroupDocs.Search ?
R : Tout OS moderne avec un JDK compatible (Java 8 ou plus récent) suffit.
Q : À quelle fréquence dois‑je actualiser mon dictionnaire de synonymes ?
R : Mettez‑le à jour chaque fois qu’une nouvelle terminologie apparaît — utilisez clear() suivi de addRange() pour un rafraîchissement propre.
Q : Puis‑je utiliser GroupDocs.Search sans acheter de licence ?
R : Un essai gratuit fonctionne pour l’évaluation, mais une licence est requise pour les déploiements en production.
Q : Quelles sont les meilleures pratiques pour indexer de grands ensembles de données ?
R : Divisez les données en lots logiques, surveillez l’utilisation du tas et planifiez une maintenance régulière de l’index.
Q : Je ne vois pas les correspondances de synonymes attendues—que dois‑je vérifier ?
R : Vérifiez que le dictionnaire est correctement importé, que setUseSynonymSearch(true) est actif, et que les termes sont présents dans les groupes de synonymes.
Ressources
- Documentation
- Référence API
- Télécharger GroupDocs.Search pour Java
- Dépôt GitHub
- Forum d’assistance gratuit
- Acquisition de licence temporaire
Dernière mise à jour : 2026-03-04
Testé avec : GroupDocs.Search 25.4 for Java
Auteur : GroupDocs