Comment créer un index dans .NET avec l’API GroupDocs Search

Dans ce tutoriel, vous découvrirez comment créer un index pour vos applications .NET en utilisant GroupDocs.Search, puis protéger le contenu sensible avec GroupDocs.Redaction. À la fin du guide, vous serez capable de créer, mettre à jour et nettoyer un index searchable, et vous comprendrez pourquoi combiner recherche et rédaction est une meilleure pratique pour une gestion sécurisée des documents.

Réponses rapides

  • Que signifie « comment créer un index » ? Cela signifie créer une structure de données searchable qui associe le contenu du document à des clés de recherche rapides.
  • Quelles bibliothèques sont requises ? GroupDocs.Search et GroupDocs.Redaction pour .NET (packages NuGet).
  • Puis-je indexer des PDF, Word et des images ? Oui—plus de 150 formats sont pris en charge nativement.
  • Comment supprimer un document de l’index ? Appelez la méthode Delete avec le chemin ou l’ID du document.
  • La rédaction est‑elle effectuée avant ou après l’indexation ? La rédaction doit être effectuée en premier afin que les données protégées n’entrent jamais dans l’index.

Qu’est-ce que « comment créer un index » ?

L’expression comment créer un index désigne le processus de génération d’une structure de données searchable qui stocke les correspondances terme‑document pour une récupération rapide. Dans GroupDocs, cette structure réside sur le disque et peut être mise à jour de façon incrémentielle sans reconstruire l’ensemble de la collection.

Pourquoi utiliser GroupDocs.Search et GroupDocs.Redaction ensemble ?

GroupDocs.Search prend en charge l’indexation de plus de 150 formats de fichiers et peut gérer des index de plus de 10 Go tout en maintenant l’utilisation de la mémoire en dessous de 200 Mo car il diffuse les fichiers au lieu de les charger entièrement. Ajouter GroupDocs.Redaction garantit que tout texte, image ou métadonnée confidentiels sont supprimés avant que le contenu n’atteigne l’index, assurant la conformité au GDPR, HIPAA et autres réglementations.

Prérequis

  • Bibliothèques & Versions – Installez les derniers packages NuGet GroupDocs.Search et GroupDocs.Redaction compatibles avec .NET 6 ou supérieur.
  • IDE – Visual Studio 2022 (ou tout IDE supportant .NET 6).
  • Connaissances – Compétences de base en C#, familiarité avec les I/O de fichiers, et compréhension des concepts d’indexation.

Configuration de GroupDocs.Redaction pour .NET

Installation

Using .NET CLI:

dotnet add package GroupDocs.Redaction

Using Package Manager Console in Visual Studio:

Install-Package GroupDocs.Redaction

Vous pouvez également localiser « GroupDocs.Redaction » dans l’interface du Gestionnaire de packages NuGet et installer la version stable la plus récente.

Acquisition de licence

Vous pouvez obtenir un essai gratuit ou demander une licence temporaire pour explorer toutes les fonctionnalités sans limitations. Visitez la Page d’achat de GroupDocs pour plus de détails sur l’obtention d’une licence.

Initialisation de base

Redactor est la classe principale qui effectue les opérations de rédaction sur un document.
Le fragment suivant montre le code minimal requis pour commencer à utiliser GroupDocs.Redaction :

// Initialize the Redactor with a file path or stream
using (Redactor redactor = new Redactor("input.docx"))
{
    // Your redaction code here
}

Cette configuration simple est tout ce dont vous avez besoin pour commencer à utiliser GroupDocs.Redaction.

Guide d’implémentation

Comment créer un index ?

Index représente le conteneur searchable qui contient les dictionnaires de termes et les métadonnées des documents.
Chargez ou créez un objet Index, pointez-le vers un dossier où les fichiers d’index seront stockés, et appelez Create. L’opération écrit les fichiers de métadonnées nécessaires et prépare le moteur à l’ingestion de documents.

// Direct answer (40‑70 words):
Create a new `Index` instance by specifying the folder path where the index will reside, then invoke `Create()` to initialise the storage structures. The method writes index headers, term dictionaries, and a lock file, making the folder ready for document addition. This step is required only once per index location.

Étape 1 : Créer l’index

using GroupDocs.Search;

string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/DeleteIndexedPaths";
Index index = new Index(indexFolder);
// This line initializes an index at the provided folder path.

Comment ajouter des documents à l’index ?

Add insère un seul document dans l’index, tandis que AddFolder traite tous les fichiers d’un répertoire.
Vous ajoutez des fichiers en appelant Add ou AddFolder. Le moteur lit chaque fichier pris en charge, extrait le texte et met à jour le dictionnaire de termes.

// Direct answer (40‑70 words):
Use `index.AddFolder("C:\\Docs")` or `index.Add("C:\\Docs\\file.pdf")` to feed documents into the index. The API streams each file, extracts searchable text, and stores term‑frequency data without loading the entire file into memory, which lets you index thousands of large PDFs efficiently.

Étape 2 : Ajouter des dossiers de documents

string documentsFolder1 = @"YOUR_DOCUMENT_DIRECTORY";
string documentsFolder2 = @"YOUR_DOCUMENT_DIRECTORY2";

index.Add(documentsFolder1);  // Adding the first folder of documents to the index
index.Add(documentsFolder2);  // Adding the second folder of documents to the index

Comment récupérer les chemins indexés ?

GetIndexedPaths renvoie une collection de tous les chemins de documents stockés dans l’index.
Récupérer la liste des chemins de fichiers indexés vous permet de vérifier quels documents sont actuellement searchable.

// Direct answer (40‑70 words):
Call `index.GetIndexedDocuments()` to obtain a collection of `IndexedDocumentInfo` objects, each containing the original file path, document ID, and indexing timestamp. Loop through the collection and output the `FilePath` property to confirm that every expected file has been successfully added.

Étape 3 : Afficher les chemins indexés

string[] indexedPaths1 = index.GetIndexedPaths();
foreach (string path in indexedPaths1)
{
    Console.WriteLine(path); // Outputs the document paths
}

Comment supprimer un document de l’index ?

Delete supprime un document de l’index par son chemin ou son identifiant.
Lorsqu’un fichier est supprimé ou devient obsolète, vous devez supprimer son entrée afin de garder les résultats de recherche précis.

// Direct answer (40‑70 words):
Invoke `index.Delete("C:\\Docs\\obsolete.pdf")` or `index.Delete(documentId)` to purge a specific document from the index. The method removes all term entries linked to that file, updates the term dictionary, and frees the space on disk, ensuring that future queries no longer return the deleted content.

Étape 4 : Supprimer des chemins spécifiques

using GroupDocs.Search.Options;

string[] pathsToDelete = { @"YOUR_DOCUMENT_DIRECTORY" };
DeleteResult deleteResult = index.Delete(pathsToDelete, new UpdateOptions());
// This deletes specified document paths from the index.

Comment vérifier les chemins indexés restants après suppression ?

Après la suppression, vous pouvez relancer la méthode de récupération pour vous assurer que l’index reflète l’état actuel.

// Direct answer (40‑70 words):
Run `index.GetIndexedDocuments()` again and compare the resulting list with the pre‑deletion list. The missing file path confirms successful deletion, while the remaining entries confirm the index’s integrity. This verification step is especially important in automated pipelines.

Étape 5 : Vérifier les chemins restants

string[] indexedPaths2 = index.GetIndexedPaths();
foreach (string path in indexedPaths2)
{
    Console.WriteLine(path); // Displays remaining paths after deletion
}

Applications pratiques

  1. Systèmes de gestion de documents – Localisez rapidement contrats, factures ou manuels parmi des millions de fichiers.
  2. Revue de documents juridiques – Rédigez les informations privilégiées avant l’indexation pour éviter toute exposition accidentelle.
  3. Solutions d’archivage – Conservez des métadonnées searchable pour les archives historiques sans charger l’intégralité des archives en mémoire.
  4. Plateformes de gestion de contenu – Alimentez la recherche sur l’ensemble du site pour les blogs, bases de connaissances et bibliothèques multimédia.
  5. Audits de conformité des données – Assurez-vous que seul le contenu assaini est searchable, répondant aux exigences réglementaires.

Considérations de performance

  • Optimiser l’indexation – Planifiez une indexation incrémentielle chaque nuit ; utilisez AddFolder avec une taille de lot de 100 fichiers pour réduire les pics d’E/S.
  • Gestion des ressources – Surveillez le CPU et la RAM ; GroupDocs.Search traite les fichiers en flux, maintenant la mémoire maximale sous 200 Mo même pour des index de 10 Go.
  • Bonnes pratiques – Stockez l’index sur des SSD pour des réponses aux requêtes en sous‑seconde, et activez la compression (index.Compression = true) pour réduire de moitié l’utilisation du disque.

Questions fréquemment posées

Q : Puis-je indexer des fichiers non textuels avec GroupDocs ?
R : Oui, GroupDocs.Search peut indexer plus de 150 formats—y compris PDF, DOCX, PPTX, XLSX et types d’images—en extrayant le texte intégré via OCR si nécessaire.

Q : Comment gérer de gros volumes de documents ?
R : Utilisez AddFolder avec une taille de lot configurable, exécutez l’indexation dans un service en arrière‑plan, et appelez périodiquement Optimize() pour fusionner les petits segments d’index.

Q : Quels sont les avantages d’utiliser la rédaction avec l’indexation ?
R : La rédaction supprime les informations personnellement identifiables avant qu’elles n’atteignent l’index, garantissant que les résultats de recherche n’exposent jamais les données protégées.

Q : Est‑il possible de personnaliser les algorithmes de recherche ?
R : GroupDocs.Search fournit des dictionnaires de synonymes, des tokenizers personnalisés et des filtres d’expressions régulières, vous permettant d’ajuster finement le score de pertinence.

Q : Comment dépanner les problèmes d’indexation courants ?
R : Vérifiez les permissions du dossier, assurez‑vous que le runtime .NET correspond à la cible de la bibliothèque, et consultez le fichier de journal généré dans le dossier d’index pour des messages d’erreur détaillés.

Ressources

Explorez ces ressources pour approfondir votre compréhension et améliorer votre implémentation de GroupDocs.Search et Redaction en .NET. Bon codage !

Dernière mise à jour : 2026-07-26
Testé avec : GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Auteur : GroupDocs

Tutoriels associés