Résultats de recherche en surbrillance 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 faire apparaître exactement ce dont vous avez besoin. Dans ce tutoriel, nous allons parcourir la configuration d’un réseau de recherche distribué, l’indexation de vos fichiers, l’exécution des 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 qui peut s’étendre sur plusieurs nœuds et faire ressortir instantanément les termes pertinents.

Réponses rapides

  • Que signifie « highlight search results java » ? Il s’agit de marquer programmaticalement 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 HighlightOptions pour 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 pour la production.
  • Quelle version de Java est requise ? Java 8 ou supérieure.
  • 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 est le processus qui consiste à prendre une requête de recherche, à localiser les fragments correspondants dans vos documents, et à 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 utiliser 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 livraison d’une expérience utilisateur fluide.

Prérequis

  • Java Development Kit (JDK) 8+ – assurez‑vous que java -version renvoie 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.

Configuration de GroupDocs.Search pour Java

Vous pouvez intégrer la bibliothèque à votre projet soit via Maven, soit en téléchargeant directement le JAR.

Maven Setup

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>

Direct Download

Alternatively, download the latest JAR from 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 cette page.
  • Achat : Procurez‑vous une licence complète pour les déploiements en production.

Initialisation et configuration de base

Create an Index instance that points to a folder where the search index will be stored:

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é

Configuring the Search Network

First, define where your documents live and which port the network will use.

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 que vous souhaitez indexer.
  • basePort – le port TCP utilisé pour la communication entre nœuds ; choisissez‑en un qui n’est pas utilisé.

Deploying Search Network Nodes

Deploy one or more nodes based on the configuration. The first node becomes the master.

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.

Subscribing to Search Network Node Events

Attach listeners to the master node to receive real‑time notifications (e.g., when indexing completes).

import com.groupdocs.search.scaling.events.*;

SearchNetworkNodeEvents.subscribe(masterNode);

Indexing Directories in Network Node

Point the node to the folder(s) you want to index. The helper class Utils.DocumentsPath resolves to the sample data folder.

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Searching Text Across Network Nodes

Run a query against all nodes and retrieve the matching documents.

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 rechercher.
  • La méthode highlightInDocument (illustrée ci‑après) appliquera la mise en surbrillance.

Mettre en surbrillance plusieurs termes dans le document – Mise en surbrillance des résultats de recherche

The following method demonstrates how to highlight fragments around each match. It also shows how to control the number of surrounding terms, satisfying the secondary keyword 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.

Closing Network Nodes

When you’re done, shut down every node to free resources.

for (SearchNetworkNode node : nodes) {
    node.close();
}

Applications pratiques

  • Gestion d’entreprise des documents : Centralisez les fichiers d’entreprise et permettez aux employés de localiser instantanément les contrats ou politiques pertinents.
  • Dossiers juridiques : Faites rapidement apparaître 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 des articles techniques et voir les extraits mis en évidence.
  • Catalogues e‑commerce : Permettez aux acheteurs de trouver des produits par mot‑clé avec des correspondances mises en surbrillance dans les descriptions.
  • Systèmes de bibliothèque : Les usagers peuvent rechercher parmi des milliers de livres et visualiser les passages mis en évidence 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 la charge d’indexation et des requêtes pour éviter les goulets d’étranglement.
  • Ajustez HighlightOptions : Réduire termsBefore/After diminue l’utilisation de mémoire pour les très gros documents.

Common Issues & Troubleshooting

SymptômeCause probableSolution
Aucun résultat retournéIndex non construit ou pointant vers le mauvais dossierVérifiez Utils.DocumentsPath et exécutez à nouveau IndexingDocuments.addDirectories
La sortie de mise en surbrillance est videLimites de HighlightOptions trop faibles ou problème d’encodage du documentAugmentez termsTotal ou assurez‑vous que l’encodage du document est pris en charge
Erreur de conflit de portbasePort déjà utiliséChoisissez un autre numéro de port (par ex., 49117)
Exception de licenceFichier de licence manquant ou expiréPlacez un fichier GroupDocs.Search.lic valide à la racine de l’application

Questions fréquentes

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, et bien d’autres.

Q : Comment améliorer la vitesse de recherche sur de très grandes collections ?
R : Mettez régulièrement à jour les index, répartissez‑les sur plusieurs nœuds et affinez HighlightOptions pour limiter la taille des fragments.

Conclusion

En suivant ce guide, vous disposez maintenant d’une configuration complète, prête pour la production, de highlight search results java avec GroupDocs.Search. Vous pouvez faire évoluer la solution sur un réseau, indexer tout type de document supporté, exécuter des requêtes rapides et renvoyer des extraits mis en évidence qui aident les utilisateurs à trouver exactement ce dont ils ont besoin. Explorez les étapes suivantes — intégrer les résultats dans une interface web, ajouter une recherche à facettes, ou combiner avec l’OCR pour les PDF numérisés.


Last Updated: 2026-01-08
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs