Créer un index de documents .NET avec Aspose.GroupDocs Redaction

Gérer de grandes collections de fichiers peut rapidement devenir un cauchemar si vous n’avez pas de moyen fiable de garder vos dossiers bien rangés et votre index de recherche à jour. Dans ce tutoriel, vous apprendrez comment créer un index de documents .net en utilisant GroupDocs.Redaction pour .NET, en couvrant la préparation du répertoire, la création d’index, le renommage de documents et les mises à jour d’index. À la fin, vous disposerez d’un flux de travail répétable qui passe de quelques PDF à des milliers de documents juridiques ou de support.

Réponses rapides

  • Quelle bibliothèque est‑elle nécessaire ? GroupDocs.Redaction pour .NET (dernière version NuGet).
  • Quelles versions de .NET sont prises en charge ? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6+.
  • Combien de formats peuvent être indexés ? Plus de 50 formats d’entrée — y compris PDF, DOCX, XLSX, PPTX, et les types d’image courants.
  • Puis‑je renommer des fichiers sans casser l’index ? Oui—utilisez la méthode intégrée Rename puis appelez NotifyIndex.
  • Une licence est‑elle requise pour la production ? Une licence valide de GroupDocs.Redaction est obligatoire pour une utilisation en production.

Qu’est‑ce que « Créer un index de documents .NET » ?

Créer un index de documents .net désigne le processus de construction d’un catalogue consultable de fichiers dans une application .NET, où chaque entrée stocke des métadonnées telles que le nom du fichier, le chemin et des extraits de contenu. Cet index permet des recherches rapides sans analyser l’ensemble du système de fichiers à chaque fois.

Pourquoi utiliser GroupDocs.Redaction pour l’indexation ?

GroupDocs.Redaction ne se contente pas de masquer le contenu sensible, il fournit également un moteur d’indexation haute performance capable de gérer jusqu’à 10 000 documents par minute sur un serveur standard à 8 cœurs, tout en maintenant l’utilisation de la mémoire en dessous de 200 Mo pour la plupart des charges de travail. Son API masque les particularités du système de fichiers, vous offrant une méthode cohérente pour gérer les répertoires et garder les index synchronisés.

Prérequis

  • Package NuGet GroupDocs.Redaction installé (dernière version stable).
  • Visual Studio 2022 ou tout IDE compatible .NET.
  • Connaissances de base en C# (I/O de fichiers, gestion des exceptions).

Bibliothèques requises, versions et dépendances

  • GroupDocs.Redaction ≥ 23.10 (prend en charge .NET Standard 2.0 et .NET 5+).
  • Optionnel : Microsoft.Extensions.Logging pour des diagnostics détaillés.

Exigences de configuration de l’environnement

Ajoutez le package via l’une des commandes suivantes (ne modifiez pas les espaces réservés qui représentent les blocs de code réels) :

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
Recherchez “GroupDocs.Redaction” et installez la dernière version.

Étapes d’obtention de licence

  1. Essai gratuit – Obtenez un essai de 30 jours depuis le portail GroupDocs.
  2. Licence temporaire – Demandez une clé temporaire pour des tests prolongés.
  3. Achat – Procurez‑vous une licence de production pour débloquer toutes les fonctionnalités.

Comment préparer un répertoire de travail propre ?

Chargez votre dossier cible, supprimez les fichiers temporaires parasites et copiez les documents source que vous souhaitez indexer. Cette étape de préparation élimine les erreurs « fichier‑en‑cours‑d’utilisation » lors de l’indexation et garantit que le générateur d’index travaille sur un ensemble de fichiers déterministe. En assurant un environnement immaculé, vous réduisez les faux‑positifs, évitez les problèmes de permissions et améliorez les performances globales d’indexation.

Nettoyer le répertoire

La classe DirectoryCleaner supprime les fichiers résiduels (par ex., *.tmp, *.bak) qui pourraient interférer avec l’indexation.

using GroupDocs.Search.Common;
using System.IO;

string documentFolder = "YOUR_DOCUMENT_DIRECTORY/";

// Ensure the directory is empty before use
Utils.CleanDirectory(documentFolder);

Copier les fichiers nécessaires

FilePreparer copie les PDF, DOCX et images source dans le dossier de travail, en préservant la hiérarchie de dossiers d’origine.

// Copy essential documents to the target directory from a source path
Utils.CopyFiles(Utils.DocumentsPath, documentFolder);

Comment créer l’index ?

Index représente une collection consultable de documents et gère les structures de stockage sous‑jacentes.

Instanciez l’objet Index, pointez‑le vers votre répertoire propre et appelez Build. Cette opération parcourt chaque fichier, extrait le texte consultable et le stocke dans une structure binaire efficace. Le générateur enregistre également des métadonnées telles que les chemins de fichiers et les horodatages, permettant des recherches rapides et des mises à jour incrémentielles sans retraiter les documents inchangés.

Créer l’index

La classe Index est le composant central qui représente une collection consultable de documents.

using GroupDocs.Search;

string indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index/";
Index index = new Index(indexFolder); // Create the index

// Add documents from your directory to the index
index.Add("YOUR_DOCUMENT_DIRECTORY/Documents/");

Comment renommer des documents et notifier l’index ?

DocumentRenamer fournit des utilitaires pour renommer les fichiers tout en maintenant l’intégrité de l’index.

DocumentRenamer.RenameAndNotify renomme le fichier sur le disque puis appelle Index.UpdateEntry pour garder le catalogue précis. En effectuant le renommage et la notification immédiate de l’index dans une seule transaction, vous évitez les références obsolètes et assurez que les recherches ultérieures renvoient le nouveau nom de fichier. Cette méthode consigne également l’opération pour les traces d’audit.

using System;
using GroupDocs.Search;
using System.IO;

string oldDocumentPath = "YOUR_DOCUMENT_DIRECTORY/Documents/Lorem ipsum.txt";
string newDocumentPath = "YOUR_DOCUMENT_DIRECTORY/Documents/Lorem ipsum renamed.txt";

// Rename the file by moving it to a new path
File.Move(oldDocumentPath, newDocumentPath);

// Notify the index about this change\NSNotification notification = Notification.CreateRenameNotification(oldDocumentPath, newDocumentPath);
Index indexForNotify = new Index(indexFolder);
bool result = indexForNotify.Notify(notification); 
Console.WriteLine($"Successful rename: {result}");

Comment mettre à jour un index existant après des modifications ?

Index.Refresh applique les changements incrémentiels à un index existant sans le reconstruire entièrement.

Index.Refresh ne traite que le delta (fichiers nouveaux ou modifiés), réduisant la charge CPU de jusqu’à 85 % comparé à une reconstruction complète. La méthode parcourt le répertoire de travail, identifie les fichiers avec des horodatages modifiés et met à jour leurs entrées tout en préservant les documents non touchés. Cette approche réduit considérablement les fenêtres de maintenance et maintient une expérience de recherche réactive.

using GroupDocs.Search;

Index indexToUpdate = new Index(indexFolder);

// Updates metadata without reindexing the entire document
indexToUpdate.Update();

Cas d’utilisation courants

  1. Gestion de documents juridiques – Indexer les contrats, mémoires et dossiers de cas pour une récupération instantanée.
  2. Systèmes de bibliothèque numérique – Fournir une recherche en temps réel sur des milliers d’e‑books et d’articles de recherche.
  3. Gestion de contenu d’entreprise – Maintenir des répertoires prêts pour l’audit qui reflètent automatiquement les conventions de nommage.
  4. Archives de support client – Localiser rapidement les tickets précédents, PDF et articles de base de connaissances.

Considérations de performance

  • Mises à jour par lots – Regroupez les changements en lots de ≤ 500 fichiers pour éviter des pics d’E/S excessifs.
  • Gestion de la mémoire – Libérez l’objet Index après chaque opération ; la bibliothèque libère automatiquement les tampons natifs.
  • Analyse parallèle – Activez IndexOptions.EnableParallelProcessing pour exploiter les CPU multi‑cœurs, obtenant jusqu’à 3× d’accélération sur une machine à 8 cœurs.

Questions fréquemment posées

Q : Quelle est l’utilisation principale de GroupDocs.Redaction ?
R : Elle masque le contenu sensible des PDF, DOCX et images tout en offrant des utilitaires robustes de gestion de répertoires et d’indexation.

Q : Puis‑je gérer plusieurs répertoires simultanément ?
R : Oui—créez des instances Index séparées pour chaque dossier et faites‑les fonctionner en parallèle.

Q : Comment gérer les erreurs pendant l’indexation ?
R : Enveloppez Index.Build et Index.Refresh dans des blocs try‑catch ; consignez les détails de RedactionException pour le dépannage.

Q : Quelles sont les exigences système pour GroupDocs.Redaction ?
R : Un runtime .NET Framework 4.6+ ou .NET Core 3.1+, au moins 2 Go de RAM, et 500 Mo d’espace disque libre pour les tampons temporaires.

Q : Comment optimiser les performances de l’index pour de grands ensembles de documents ?
R : Appelez régulièrement Index.Refresh, activez le traitement parallèle, et limitez la taille des lots pour garder la consommation de mémoire sous contrôle.

Ressources supplémentaires


Dernière mise à jour : 2026-06-22
Testé avec : GroupDocs.Redaction 23.10 pour .NET
Auteur : GroupDocs

using GroupDocs.Redaction;

// Initialize the Redactor object with your document path
var redactor = new Redactor("YOUR_DOCUMENT_PATH");

Tutoriels associés