.
Let’s craft translation.
Mettre en surbrillance les résultats de recherche Java avec GroupDocs.Search
Si vous en avez assez de parcourir manuellement d’innombrables documents, highlight search results java offre une méthode rapide et fiable pour extraire exactement ce dont vous avez besoin. Dans ce tutoriel, nous passerons en revue la configuration d’un réseau de recherche distribué, l’indexation de vos fichiers, l’exécution de requêtes, puis la mise en surbrillance des correspondances directement dans les documents. À la fin, vous disposerez d’une solution prête pour la production, capable de s’étendre sur plusieurs nœuds et de faire ressortir instantanément les termes pertinents.
Réponses rapides
- Que signifie « highlight search results java » ? Il s’agit de marquer programmétiquement les mots‑clés trouvés à l’intérieur des documents lors de l’utilisation de bibliothèques Java telles que GroupDocs.Search.
- Puis‑je mettre en surbrillance plusieurs termes dans le même document ? Oui – utilisez
HighlightOptionspour définir le nombre de termes avant/après chaque correspondance affichés. - Ai‑je besoin d’une licence pour exécuter cet exemple ? Un essai gratuit ou une licence temporaire suffit pour les tests ; une licence complète est requise en production.
- Quelle version de Java est requise ? Java 8 ou supérieur.
- Cette approche convient‑elle aux grandes collections de documents ? Absolument – le réseau de recherche répartit l’indexation et la charge des requêtes sur plusieurs nœuds.
Qu’est‑ce que « Highlight Search Results Java » ?
Highlight search results java désigne le processus consistant à prendre une requête de recherche, à localiser les fragments correspondants dans vos documents, puis à mettre visuellement en évidence ces fragments (par exemple en les entourant de marqueurs ou en les renvoyant sous forme d’extraits surlignés). Cela permet aux utilisateurs finaux de voir le contexte de chaque correspondance sans ouvrir le fichier complet.
Pourquoi la mise en surbrillance des résultats de recherche Java est importante
L’utilisation de highlight search results java améliore l’expérience utilisateur en montrant exactement où apparaît un terme, réduit le temps passé à ouvrir des fichiers non pertinents et aide les équipes de conformité à localiser rapidement les informations sensibles. Associée à un réseau de recherche distribué, la solution reste réactive même lorsque le corpus de documents atteint des millions d’éléments.
Pourquoi choisir GroupDocs.Search pour la mise en surbrillance ?
GroupDocs.Search fournit un moteur prêt à l’emploi, haute performance, qui prend en charge des dizaines de formats de fichiers, l’indexation distribuée et des surligneurs de fragments intégrés. Il élimine le besoin d’écrire des analyseurs personnalisés ou de gérer une infrastructure de recherche bas‑niveau, vous permettant de vous concentrer sur la création d’une expérience utilisateur fluide.
Prérequis
- Java Development Kit (JDK) 8+ – assurez‑vous que
java -versionindique 1.8 ou supérieur. - Maven – pour la gestion des dépendances.
- GroupDocs.Search for Java 25.4 – la version utilisée tout au long de ce guide.
- Un IDE tel que IntelliJ IDEA ou Eclipse (facultatif mais recommandé).
- Connaissances de base en Java et concepts de réseau.
Installation de GroupDocs.Search pour Java
Vous pouvez ajouter la bibliothèque à votre projet via Maven ou en téléchargeant directement le JAR.
Configuration Maven
Ajoutez le dépôt 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
Sinon, téléchargez le JAR le plus récent depuis GroupDocs.Search for Java releases.
Étapes d’obtention de licence
- Essai gratuit : Commencez avec un essai pour explorer les fonctionnalités de base.
- Licence temporaire : Obtenez une licence de test prolongée depuis this page.
- Achat : Procurez‑vous une licence complète pour les déploiements en production.
Initialisation et configuration de base
Créez une instance Index qui pointe vers un dossier où l’index de recherche sera stocké :
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Create an instance of Index
Index index = new Index("path/to/index/directory");
System.out.println("GroupDocs.Search initialized successfully.");
}
}
Guide d’implémentation
Comment mettre en surbrillance les résultats de recherche Java dans un réseau distribué
Configuration du réseau de recherche
Tout d’abord, définissez l’emplacement de vos documents et le port que le réseau utilisera.
import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
basePath– le dossier racine contenant les fichiers à indexer.basePort– le port TCP pour la communication entre nœuds ; choisissez‑en un qui n’est pas utilisé.
Déploiement des nœuds du réseau de recherche
Déployez un ou plusieurs nœuds selon la configuration. Le premier nœud devient le maître.
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
nodes– un tableau de tous les nœuds en cours d’exécution.masterNode– coordonne l’indexation et la distribution des requêtes.
Souscription aux événements du nœud du réseau de recherche
Attachez des écouteurs au nœud maître pour recevoir des notifications en temps réel (par ex., lorsque l’indexation est terminée).
import com.groupdocs.search.scaling.events.*;
SearchNetworkNodeEvents.subscribe(masterNode);
Indexation des répertoires dans le nœud réseau
Indiquez au nœud le(s) dossier(s) à indexer. La classe d’assistance Utils.DocumentsPath pointe vers le dossier de données d’exemple.
import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;
IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);
Recherche de texte à travers les nœuds du réseau
Exécutez une requête sur tous les nœuds et récupérez les documents correspondants.
import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;
ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
- Remplacez
"ipsum"par le terme que vous souhaitez trouver. - La méthode
highlightInDocument(illustrée ci‑après) appliquera la mise en surbrillance.
Mettre en surbrillance plusieurs termes dans le document – Highlighting Search Results
La méthode suivante montre comment mettre en évidence les fragments autour de chaque correspondance. Elle illustre également comment contrôler le nombre de termes environnants, répondant ainsi au mot‑clé secondaire highlight multiple terms document.
import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;
public static void highlightInDocument(
SearchNetworkNode node,
NetworkFoundDocument document,
int maxFragments) {
Searcher searcher = node.getSearcher();
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);
HighlightOptions options = new HighlightOptions();
options.setTermsAfter(5);
options.setTermsBefore(5);
options.setTermsTotal(15);
searcher.highlight(document, highlighter, options); // Perform highlighting on the document.
FragmentContainer[] result = highlighter.getResult();
for (FragmentContainer container : result) {
if (container.getCount() == 0) continue;
String[] fragments = container.getFragments();
int count = Math.min(fragments.length, maxFragments);
for (int j = 0; j < count; j++) {
// Print each fragment within the specified limit.
}
}
}
OutputFormat.PlainText– renvoie des extraits en texte brut ; vous pouvez passer à HTML pour une interface plus riche.HighlightOptions– contrôle le nombre de mots avant/après chaque correspondance inclus (setTermsBefore,setTermsAfter).maxFragments– limite le nombre d’extraits affichés par document.
Fermeture des nœuds du réseau
Lorsque vous avez terminé, arrêtez chaque nœud afin de libérer les ressources.
for (SearchNetworkNode node : nodes) {
node.close();
}
Applications pratiques
- Gestion documentaire d’entreprise : Centralisez les fichiers corporatifs et permettez aux employés de localiser instantanément les contrats ou politiques pertinents.
- Dossiers juridiques : Faites apparaître rapidement les documents de référence en mettant en surbrillance les termes juridiques clés.
- Bases de connaissances R&D : Les chercheurs peuvent rechercher des brevets ou articles techniques et voir les extraits surlignés.
- Catalogues e‑commerce : Permettez aux acheteurs de trouver des produits par mot‑clé avec des correspondances mises en évidence dans les descriptions.
- Systèmes de bibliothèque : Les usagers peuvent rechercher parmi des milliers de livres et visualiser les passages pertinents sans ouvrir chaque fichier.
Considérations de performance
- Maintenez les index à jour : Ré‑indexez les fichiers modifiés chaque nuit ou utilisez des mises à jour incrémentielles.
- Exploitez plusieurs nœuds : Répartissez l’indexation et la charge des requêtes pour éviter les goulets d’étranglement.
- Ajustez
HighlightOptions: RéduiretermsBefore/Afterdiminue l’utilisation de la mémoire pour les très gros documents.
Problèmes courants & dépannage
| Symptom | Likely Cause | Fix |
|---|---|---|
| Aucun résultat retourné | Index non construit ou mauvais dossier ciblé | Vérifiez Utils.DocumentsPath et relancez IndexingDocuments.addDirectories |
| La sortie de la mise en surbrillance est vide | HighlightOptions trop restrictif ou problème d’encodage du document | Augmentez termsTotal ou assurez‑vous que l’encodage du document est supporté |
| Erreur de conflit de port | basePort déjà utilisé | Choisissez un autre numéro de port (par ex., 49117) |
| Exception de licence | Fichier de licence manquant ou expiré | Placez un fichier GroupDocs.Search.lic valide à la racine de l’application |
Foire aux questions
Q : Puis‑je déployer plusieurs nœuds du réseau de recherche pour l’équilibrage de charge ?
R : Oui, le déploiement de plusieurs nœuds répartit le travail d’indexation et de requête, améliorant la scalabilité et le temps de réponse.
Q : Comment mettre en surbrillance plusieurs termes de recherche dans le même document ?
R : Passez une liste de termes à la méthode highlight et configurez HighlightOptions pour afficher les mots environnants pour chaque correspondance.
Q : Est‑il possible de s’abonner aux événements de recherche en temps réel ?
R : Absolument. Utilisez SearchNetworkNodeEvents.subscribe(masterNode) pour recevoir des callbacks sur la progression de l’indexation, l’exécution des requêtes et les erreurs.
Q : Quels formats de fichiers GroupDocs.Search prend‑il en charge pour l’indexation et la mise en surbrillance ?
R : Plus de 50 formats, dont DOCX, PDF, HTML, TXT, PPTX, etc.
Q : Comment améliorer la vitesse de recherche sur des collections très volumineuses ?
R : Mettez à jour régulièrement les index, répartissez‑les sur plusieurs nœuds et affinez HighlightOptions afin de limiter la taille des fragments.
Dernière mise à jour : 2026-03-17
Testé avec : GroupDocs.Search for Java 25.4
Auteur : GroupDocs