Mettre en évidence le texte Java avec GroupDocs.Search
Dans les applications d’entreprise modernes, highlight text java est essentiel pour transformer les résultats de recherche bruts en informations immédiatement lisibles. Que vous construisiez un portail de révision juridique, un moteur de recherche académique ou un tableau de bord de support client, pouvoir localiser et mettre visuellement en évidence les termes de requête fait gagner aux utilisateurs d’innombrables secondes de lecture manuelle. Ce tutoriel vous montre comment utiliser GroupDocs.Search for Java pour search documents java, index documents java, et appliquer à la fois la mise en évidence sur l’ensemble du document et au niveau des fragments, le tout en quelques lignes de code.
Réponses rapides
- Que signifie “search and highlight text” ? Cela signifie localiser les termes de requête à l’intérieur d’un document et les mettre visuellement en évidence (par exemple, avec un arrière‑plan coloré).
- Quelle bibliothèque fournit cette capacité ? GroupDocs.Search for Java.
- Ai‑je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence complète est requise pour une utilisation en production.
- Puis‑je personnaliser les couleurs de mise en évidence ? Oui — n’importe quelle couleur RGB peut être définie via
HighlightOptions. - La mise en évidence des fragments est‑elle prise en charge ? Absolument ; vous pouvez définir les termes avant/après la correspondance pour créer des extraits concis.
Comment mettre en évidence le texte Java dans les documents
Pour mettre en évidence le texte Java dans les documents, commencez par créer un index des fichiers source en utilisant des paramètres de compression appropriés, exécutez ensuite une requête de recherche pour localiser les termes souhaités, et enfin exportez les résultats en HTML, PDF ou texte brut avec chaque correspondance entourée d’une balise de mise en évidence. Ce processus en trois étapes garantit une mise en évidence rapide et précise sur de grandes collections.
- Créer un index avec des paramètres de compression qui maintiennent une empreinte de stockage faible.
- Exécuter une recherche en utilisant la chaîne de requête que vous souhaitez mettre en évidence.
- Générer la sortie (HTML, PDF ou texte brut) où chaque occurrence du terme de requête est entourée d’une balise de mise en évidence.
Qu’est-ce que la recherche et la mise en évidence du texte ?
La recherche et la mise en évidence du texte est le processus de scan d’une collection indexée pour une requête donnée, de récupération des documents correspondants, puis de marquage de chaque occurrence du terme de requête dans la sortie (HTML, PDF, etc.). Cet indice visuel aide les utilisateurs finaux à repérer instantanément les informations pertinentes.
Pourquoi utiliser GroupDocs.Search pour Java ?
GroupDocs.Search for Java offre high‑performance indexing (jusqu’à 50 GB par index avec Compression.High), rich highlighting qui fonctionne sur des documents entiers et des fragments personnalisés, et cross‑format support pour plus de 30 types de fichiers — y compris DOCX, PDF, PPTX et TXT. La bibliothèque propose également incremental indexing, vous permettant d’ajouter de nouveaux fichiers sans reconstruire l’intégralité de l’index, ce qui réduit le temps d’arrêt jusqu’à 80 % dans les déploiements à grande échelle.
Prérequis
- Java Development Kit (JDK) 8 ou supérieur.
- Maven pour la gestion des dépendances.
- Un IDE tel qu’IntelliJ IDEA ou Eclipse.
- Une connaissance de base de la syntaxe Java.
Configuration de GroupDocs.Search pour Java
Ajoutez le dépôt GroupDocs et la dépendance à votre pom.xml :
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
Vous pouvez également télécharger le JAR le plus récent directement depuis le site officiel : GroupDocs.Search for Java releases.
Acquisition de licence
Commencez avec un essai gratuit ou obtenez une licence temporaire pour l’évaluation. Pour les déploiements en production, achetez une licence complète afin de débloquer toutes les fonctionnalités.
Guide d’implémentation
L’implémentation est divisée en deux sections pratiques : highlighting in entire documents et highlighting in fragments. Les deux sections incluent les étapes essentielles pour how to highlight Java documents en utilisant GroupDocs.Search.
Configuration des paramètres d’index
Avant l’indexation, configurez le stockage pour utiliser une compression élevée — cela réduit l’utilisation du disque jusqu’à 70 % tout en préservant la vitesse de recherche.
IndexSettings est l’objet de configuration qui contrôle la façon dont l’index est stocké sur disque. Définissez Compression sur Compression.High pour activer cette optimisation.Compression spécifie le niveau de compression appliqué aux fichiers d’index, Compression.High offrant la réduction de taille maximale.
Mise en évidence dans les documents entiers
Étape 1 : créer et remplir l’index
Créez un dossier d’index et ajoutez tous les fichiers source que vous souhaitez rechercher. La classe Index représente le conteneur interrogeable.
Étape 2 : effectuer la recherche et appliquer la mise en évidence
Recherchez le terme (par ex., ipsum) et générez un fichier HTML avec les correspondances mises en évidence. Utilisez HighlightOptions pour spécifier la couleur de mise en évidence et si vous souhaitez utiliser des styles en ligne.
HighlightOptions vous permet de définir les couleurs de premier plan et d’arrière‑plan, ainsi que la classe CSS qui sera appliquée à chaque terme mis en évidence.
HtmlHighlighter génère une sortie HTML avec les termes mis en évidence selon les options fournies.SearchResult contient la liste des documents correspondants et les positions de chaque terme trouvé.
Réponse directe : Chargez votre index, appelez search("ipsum"), puis transmettez le SearchResult obtenu ainsi qu’une instance configurée de HighlightOptions au HtmlHighlighter. Le surligneur renvoie du HTML où chaque occurrence de “ipsum” est entourée d’un <span> avec la couleur d’arrière‑plan choisie.
Options clés expliquées
- Compression – la compression élevée économise de l’espace de stockage.
- HighlightColor – définissez n’importe quelle valeur RGB pour correspondre à votre palette UI.
- UseInlineStyles –
falsegénère du HTML propre qui peut être stylisé globalement avec du CSS.
Mise en évidence dans les fragments
Étape 1 : indexer et rechercher (identique ci‑dessus)
Les mêmes étapes d’indexation et de recherche s’appliquent ; vous réutilisez les objets Index et SearchResult.
Étape 2 : définir le contexte du fragment et la mise en évidence
Spécifiez le nombre de termes avant et après la correspondance qui doivent apparaître dans chaque fragment avec FragmentOptions.
FragmentOptions contrôle le nombre de mots environnants (termsBefore et termsAfter) inclus dans chaque extrait, vous permettant d’équilibrer le contexte et la longueur de l’extrait.
Étape 3 : récupérer et écrire les fragments mis en évidence
Collectez les fragments générés et écrivez‑les dans un fichier HTML. Chaque fragment est déjà mis en évidence selon les HighlightOptions que vous avez configurées.
fragmentHighlighter est un utilitaire qui crée des extraits mis en évidence à partir d’un SearchResult en utilisant les options de fragment et de mise en évidence spécifiées.
Réponse directe : Après avoir obtenu le SearchResult, appelez fragmentHighlighter.highlight(searchResult, fragmentOptions, highlightOptions). La méthode renvoie une liste d’extraits HTML, chacun contenant le terme correspondant entouré du nombre configuré de mots de contexte et mis en évidence avec la couleur choisie.
Applications pratiques
- Revue de documents juridiques – mettez instantanément en évidence les lois, clauses ou références de cas à travers des milliers de contrats.
- Recherche académique – faites ressortir la terminologie clé à travers des dizaines de PDF et fichiers Word, réduisant le temps de revue de littérature jusqu’à 60 %.
- Support client – identifiez les numéros de commande ou les codes d’erreur dans les historiques de tickets, permettant aux agents de résoudre les problèmes plus rapidement.
Considérations de performance
- Taille de l’index – la compression élevée (
Compression.High) réduit l’empreinte disque jusqu’à 70 % sans impact de latence notable. - Contexte du fragment – des valeurs plus grandes de
termsBefore/Afteraugmentent la lisibilité des extraits mais peuvent ajouter 10–15 ms par requête. - Gestion de la mémoire – surveillez le tas JVM lors de l’indexation de grands corpus ; envisagez l’indexation incrémentielle pour les ensembles de données dépassant 2 GB afin de maintenir l’utilisation de la mémoire sous 1 GB.
Problèmes courants et solutions
- Erreurs d’indexation – vérifiez les chemins de fichiers et assurez-vous que l’application dispose des permissions de lecture/écriture sur le dossier d’index.
- Aucune mise en évidence n’apparaît – confirmez que
UseInlineStylescorrespond à votre format de sortie (HTML vs. PDF). - Couleur non appliquée – assurez-vous que les valeurs RGB sont comprises entre 0 et 255 et que le visualiseur respecte le CSS en ligne ou la classe CSS fournie.
Questions fréquemment posées
Q : Quels sont les avantages d’utiliser GroupDocs.Search pour Java ?
R : Il offre une indexation rapide et évolutive, une mise en évidence personnalisable et la prise en charge de plus de 30 formats de documents, traitant des fichiers de 500 pages en moins de 2 secondes sur un serveur typique.
Q : Comment puis‑je intégrer GroupDocs.Search avec une API REST ?
R : Exposez les méthodes de recherche et de mise en évidence via des contrôleurs Spring Boot, en renvoyant des extraits HTML ou des charges JSON contenant les fragments mis en évidence.
Q : La bibliothèque gère‑t‑elle les fichiers protégés par mot de passe ?
R : Oui — fournissez le mot de passe lors de l’ajout du document à l’index via addDocument(filePath, password).
Q : Puis‑je personnaliser le balisage de mise en évidence au‑delà de la couleur ?
R : Absolument ; vous pouvez assigner une classe CSS avec options.setCssClass("myHighlight") et la styliser globalement, ou modifier le HTML généré après la mise en évidence.
Q : Quelle version a été testée pour ce guide ?
R : Le code a été validé avec GroupDocs.Search 25.4.
Q : Comment définir les options de mise en évidence Java pour utiliser une classe CSS au lieu de styles en ligne ?
R : Appelez options.setUseInlineStyles(false) et définissez une règle CSS pour la classe que vous assignez via options.setCssClass("myHighlight").
Q : Existe‑t‑il un moyen de mettre en évidence les termes directement dans la sortie PDF ?
R : Oui — GroupDocs.Search fonctionne avec des entrées PDF, et le surligneur génère du HTML qui peut être intégré dans un visualiseur PDF ou reconverti en PDF à l’aide de GroupDocs.Conversion.
Dernière mise à jour : 2026-09-27
Testé avec : GroupDocs.Search 25.4
Auteur : GroupDocs
<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>
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
String indexFolder = "/path/to/your/document/directory/HighlightingInEntireDocument";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "/path/to/your/output/directory/Highlighted.html");
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
HighlightOptions options = new HighlightOptions();
options.setHighlightColor(new Color(150, 255, 150)); // Custom green shade
options.setUseInlineStyles(false); // Prefer CSS for styling
index.highlight(document, highlighter, options);
}
String indexFolder = "/path/to/your/document/directory/HighlightingInFragments";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
HighlightOptions options = new HighlightOptions();
options.setTermsBefore(5); // Include 5 terms before the match
options.setTermsAfter(5); // Include 5 terms after the match
options.setHighlightColor(new Color(127, 200, 255)); // Custom blue shade
options.setUseInlineStyles(true); // Use inline styles for emphasis
FoundDocument document = result.getFoundDocument(0);
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.Html);
index.highlight(document, highlighter, options);
StringBuilder stringBuilder = new StringBuilder();
FragmentContainer[] fragmentContainers = highlighter.getResult();
for (FragmentContainer container : fragmentContainers) {
String[] fragments = container.getFragments();
if (fragments.length > 0) {
stringBuilder.append("\n<br>").append(container.getFieldName()).append("<br>\n");
for (String fragment : fragments) {
stringBuilder.append(fragment).append("\n");
}
}
}
try {
Files.write(Paths.get("/path/to/your/output/directory/Fragments.html"), stringBuilder.toString().getBytes());
} catch (IOException ex) {
// Handle exceptions
}