Rechercher et masquer les documents en .NET avec GroupDocs.Search & GroupDocs.Redaction
Dans les environnements d’entreprise modernes, les capacités de search and redact sont essentielles pour protéger les informations sensibles tout en rendant les documents facilement consultables. Ce tutoriel vous guide dans la création d’une solution .NET robuste combinant GroupDocs.Search pour une recherche en texte intégral rapide avec GroupDocs.Redaction afin de supprimer en toute sécurité les données confidentielles. À la fin, vous saurez comment configurer les bibliothèques, créer un segmentateur de texte personnalisé, exécuter des recherches haute performance et appliquer des masques en toute sécurité.
Réponses rapides
- Qu’est‑ce que « search and redact » ? Cela signifie trouver du texte dans les documents et le masquer de façon permanente.
- Quelles bibliothèques sont requises ? GroupDocs.Search et GroupDocs.Redaction pour .NET.
- Puis‑je gérer du contenu multilingue ? Oui — utilisez un segmentateur de texte personnalisé pour découper correctement les mots.
- Comment améliorer la vitesse de recherche ? Indexez une fois, réutilisez l’index et activez les paramètres
optimize search performance. - Que faire si l’indexation échoue ? Suivez les directives « handle indexing errors » dans la section de dépannage.
Qu’est‑ce que « search and redact » ?
Le « search and redact » est le processus consistant à localiser des termes spécifiques dans un ensemble de documents, puis à les masquer ou les supprimer de façon permanente afin de protéger la vie privée ou de respecter les exigences réglementaires. Il combine la recherche en texte intégral pour trouver les informations sensibles avec des outils de masquage qui remplacent le contenu tout en conservant la mise en page originale du document.
Pourquoi utiliser GroupDocs.Search et GroupDocs.Redaction ensemble ?
GroupDocs.Search prend en charge plus de 50 formats de fichiers et peut indexer plus de 100 000 documents en moins d’une minute sur du matériel serveur standard, tandis que GroupDocs.Redaction peut appliquer des masques aux PDF, DOCX, PPTX et plus sans modifier la mise en page originale. Les combiner vous offre une solution tout‑en‑un qui optimise les performances de recherche et gère les erreurs d’indexation de manière fluide.
Prérequis
- Visual Studio 2022 ou version ultérieure avec prise en charge de .NET 6+.
- Packages NuGet : GroupDocs.Search et GroupDocs.Redaction (dernières versions stables).
- Une licence GroupDocs valide (essai ou achetée).
Bibliothèques requises
- GroupDocs.Search – Fournit l’indexation, les requêtes et la segmentation personnalisée.
- GroupDocs.Redaction – Offre le masquage de texte, d’images et de métadonnées pour les formats pris en charge.
Exigences de configuration de l’environnement
Assurez‑vous que votre machine de développement possède les permissions d’écriture sur le dossier où l’index sera stocké.
Prérequis de connaissances
- Familiarité avec C# et les structures de projets .NET.
- Compréhension de base des concepts de traitement de documents (optionnel mais utile).
Comment installer GroupDocs.Redaction pour .NET ?
Vous pouvez ajouter le package Redaction à votre projet en utilisant soit la CLI .NET, soit le Gestionnaire de packages NuGet. La commande télécharge la dernière version stable et l’enregistre dans votre fichier de projet, rendant l’API immédiatement disponible.
dotnet add package GroupDocs.Redaction
Comment obtenir une licence pour GroupDocs ?
GroupDocs propose trois options de licence : un essai gratuit pour l’évaluation, une licence temporaire pour des tests de développement prolongés, et une licence commerciale complète pour la production. L’essai offre des fonctionnalités limitées, la clé temporaire prolonge la période d’évaluation, et la licence achetée débloque toutes les fonctionnalités ainsi que le support prioritaire.
Comment initialiser GroupDocs.Redaction dans mon application ?
La classe Redaction est le point d’entrée principal pour appliquer des masques aux documents pris en charge. Elle charge un fichier, prépare les objets de masquage et exécute le processus de masquage, renvoyant un document modifié tout en conservant la mise en page originale. Vous pouvez également configurer des options de masquage telles que la couleur, le superposition et la suppression des métadonnées afin de répondre à des exigences de conformité spécifiques.
using GroupDocs.Redaction;
// Initialize Redactor with the document path
Redactor redactor = new Redactor("path/to/document.pdf");
Comment configurer un index avec GroupDocs.Search ?
La classe Index représente un référentiel consultable stocké sur disque. Elle gère la création, la mise à jour et les requêtes de l’index, vous permettant d’ajouter des documents, de reconstruire l’index et d’exécuter des recherches rapides sur de grandes collections. Le dossier d’index peut être situé sur un stockage local ou réseau, et vous pouvez configurer les paramètres de compression et de chiffrement pour protéger les données indexées.
using GroupDocs.Search;
// Specify the index folder path
string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/CustomTextSegmenter";
// Initialize the index
Index index = new Index(indexFolder);
Qu’est‑ce qu’un segmentateur de texte personnalisé et pourquoi l’utiliser ?
Un segmentateur de texte personnalisé détermine la façon dont le texte brut est découpé en jetons recherchables. En adaptant les règles de segmentation à des langues ou domaines spécifiques, vous améliorez la précision de la tokenisation, ce qui conduit à un meilleur rappel et à une pertinence accrue des résultats de recherche. Ceci est particulièrement utile pour les langues aux limites de mots complexes, comme le japonais ou l’arabe, où les tokeniseurs par défaut peuvent découper les mots de manière incorrecte.
// Define a search query using Chinese language text
string query = "考虑"; // The word 'consider' in Chinese
Comment effectuer une recherche en texte intégral avec le segmentateur personnalisé ?
L’objet SearchQuery encapsule la requête de l’utilisateur et travaille avec le segmentateur personnalisé pour localiser les correspondances. Il prend en charge la correspondance floue, les requêtes de phrase et le pondération, renvoyant un ensemble de résultats contenant les ID de documents, les positions des occurrences et les scores de pertinence. Vous pouvez également appliquer des filtres tels que le type de fichier ou la plage de dates pour affiner les résultats et cibler plus précisément.
// Execute the search on indexed data
SearchResult result = index.Search(query);
// Process results to analyze findings or display them
foreach (FoundDocument doc in result)
{
Console.WriteLine($"Document: {doc.DocumentInfo.FilePath}");
}
Comment appliquer des masques après avoir trouvé du texte sensible ?
L’API Redaction vous permet de remplacer ou de supprimer du texte, des images et des métadonnées dans les documents pris en charge. Après avoir identifié les termes sensibles, vous créez des objets de masquage, les appliquez et enregistrez le fichier masqué, garantissant que les informations confidentielles sont définitivement cachées. Les options de masquage incluent le superposition de boîtes noires, l’application de couleurs personnalisées ou la suppression d’objets entiers tout en préservant la structure du document.
using (Redactor redactor = new Redactor("path/to/document.pdf"))
{
// Define the redaction settings and criteria
TextRedaction textRedaction = new TextRedaction("Sensitive Information", new ReplacementOptions("[REDACTED]"));
// Apply the redaction to the document
RedactorChangeLog log = redactor.Apply(textRedaction);
if (log.Status != RedactionStatus.Failed)
{
redactor.Save();
}
}
Problèmes courants et comment gérer les erreurs d’indexation
- Index Not Found : Vérifiez que le chemin de l’index existe et que l’application possède les permissions de lecture/écriture.
- Search Returns No Results : Relancez le processus d’indexation et assurez‑vous que le segmentateur personnalisé est correctement enregistré.
- Redaction Fails on Certain Formats : Confirmez que le type de fichier est pris en charge ; pour les PDF, utilisez la dernière version de Redaction pour gérer les fonctionnalités PDF 2.0.
Applications pratiques
- Gestion de documents juridiques : Recherchez les contrats contenant « non‑disclosure » et masquez automatiquement les clauses avant le partage externe.
- Recherche académique : Localisez les données non publiées dans les manuscrits et masquez‑les pour les processus d’évaluation par les pairs.
- Contrats d’entreprise : Traitez par lots des milliers d’accords, masquant les identifiants personnels tout en conservant le langage juridique.
Comment optimiser les performances de recherche pour de grands ensembles de documents ?
Pour maximiser les performances, indexez les documents une fois et réutilisez le même index pour les requêtes ultérieures. Activez le traitement parallèle, configurez le cache et ajustez les paramètres de l’index afin de réduire la latence et d’améliorer le débit sur des serveurs multi‑cœurs. De plus, définissez le drapeau EnableMemoryMapping pour permettre à l’index d’être mappé en mémoire, ce qui accélère les opérations de lecture sur de grands ensembles de données.
Comment gérer la mémoire .NET lors du traitement de gros fichiers ?
Une gestion efficace de la mémoire est cruciale lors du traitement de gros documents. Encapsulez les objets Index et Redaction dans des instructions using afin d’assurer une libération déterministe, et traitez les fichiers sous forme de flux plutôt que de charger des documents entiers en mémoire. La surveillance des compteurs de performance aide à détecter rapidement les pics de mémoire, vous permettant d’ajuster la taille des lots ou d’activer le réglage du ramasse‑miettes.
Questions fréquentes
Q : Puis‑je utiliser GroupDocs.Search avec des métadonnées non textuelles ?
R : Oui — les champs de métadonnées peuvent être indexés avec le contenu du document, permettant des recherches comme « author:JohnDoe ».
Q : GroupDocs.Redaction prend‑il en charge le masquage en temps réel dans une API web ?
R : Oui ; vous pouvez appeler l’API Redaction de façon synchrone pour les petits fichiers ou mettre en file d’attente les travaux plus volumineux pour un traitement asynchrone.
Q : Que faire si l’index devient corrompu ?
R : Supprimez le dossier d’index corrompu et reconstruisez‑le en utilisant la même routine d’indexation ; la bibliothèque consigne des messages d’erreur détaillés pour vous aider à identifier la cause.
Q : Est‑il possible de prévisualiser les documents masqués avant de les enregistrer ?
R : Absolument — appelez redaction.Apply() avec le drapeau preview pour générer une version temporaire à examiner.
Q : Quelles versions de .NET sont officiellement prises en charge ?
R : GroupDocs.Search et GroupDocs.Redaction prennent en charge .NET 6, .NET 5, .NET Core 3.1 et .NET Framework 4.6.2+.
Ressources
- Documentation : GroupDocs Redaction Documentation
- Référence API : GroupDocs API Reference
- Téléchargement : GroupDocs Releases
- Support gratuit : GroupDocs Forum
- Licence temporaire : GroupDocs Temporary License
Dernière mise à jour : 2026-06-12
Testé avec : GroupDocs.Search 23.11, GroupDocs.Redaction 23.11 pour .NET
Auteur : GroupDocs
Install-Package GroupDocs.Redaction