Crea indice documento .NET con Aspose.GroupDocs Redaction

Gestire grandi collezioni di file può rapidamente diventare un incubo se non si dispone di un modo affidabile per mantenere le cartelle ordinate e l’indice di ricerca aggiornato. In questo tutorial imparerai come creare indice documento .net usando GroupDocs.Redaction per .NET, coprendo la preparazione della directory, la creazione dell’indice, la rinomina dei documenti e gli aggiornamenti dell’indice. Alla fine avrai un flusso di lavoro ripetibile che scala da qualche PDF a migliaia di documenti legali o di supporto.

Risposte rapide

  • Quale libreria è necessaria? GroupDocs.Redaction per .NET (ultima versione NuGet).
  • Quali versioni di .NET sono supportate? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6+.
  • Quanti formati possono essere indicizzati? Oltre 50 formati di input — inclusi PDF, DOCX, XLSX, PPTX e i comuni tipi di immagine.
  • Posso rinominare i file senza rompere l’indice? Sì—usa il metodo integrato Rename e poi chiama NotifyIndex.
  • È necessaria una licenza per la produzione? Una licenza valida di GroupDocs.Redaction è obbligatoria per l’uso in produzione.

Cos’è “Create Document Index .NET”?

Create document index .net si riferisce al processo di costruzione di un catalogo ricercabile di file in un’applicazione .NET, dove ogni voce memorizza metadati come nome file, percorso e frammenti di contenuto. Questo indice consente ricerche rapide senza dover scansionare l’intero file system ogni volta.

Perché usare GroupDocs.Redaction per l’indicizzazione?

GroupDocs.Redaction non solo redige contenuti sensibili ma fornisce anche un motore di indicizzazione ad alte prestazioni in grado di gestire fino a 10.000 documenti al minuto su un server standard a 8 core, mantenendo l’uso della memoria sotto 200 MB per la maggior parte dei carichi di lavoro. La sua API astrae le particolarità del file system, offrendoti un modo coerente per gestire le directory e mantenere gli indici sincronizzati.

Prerequisiti

  • GroupDocs.Redaction pacchetto NuGet installato (ultima versione stabile).
  • Visual Studio 2022 o qualsiasi IDE compatibile con .NET.
  • Conoscenza base di C# (file I/O, gestione delle eccezioni).

Librerie richieste, versioni e dipendenze

  • GroupDocs.Redaction ≥ 23.10 (supporta .NET Standard 2.0 e .NET 5+).
  • Opzionale: Microsoft.Extensions.Logging per diagnostica dettagliata.

Requisiti per la configurazione dell’ambiente

Aggiungi il pacchetto tramite uno dei seguenti comandi (non modificare i segnaposto che rappresentano i blocchi di codice effettivi):

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
Cerca “GroupDocs.Redaction” e installa l’ultima versione.

Passaggi per l’acquisizione della licenza

  1. Prova gratuita – Ottieni una prova di 30 giorni dal portale GroupDocs.
  2. Licenza temporanea – Richiedi una chiave temporanea per test estesi.
  3. Acquisto – Ottieni una licenza di produzione per sbloccare la funzionalità completa.

Come preparare una directory di lavoro pulita?

Carica la cartella di destinazione, elimina i file temporanei sparsi e copia i documenti sorgente che intendi indicizzare. Questa fase di preparazione elimina gli errori “file‑in‑use” durante l’indicizzazione e garantisce che il costruttore dell’indice lavori su un insieme deterministico di file. Assicurando un ambiente pulito riduci i falsi positivi, eviti problemi di permessi e migliori le prestazioni complessive dell’indicizzazione.

Pulire la directory

La classe DirectoryCleaner rimuove i file residui (ad es., *.tmp, *.bak) che potrebbero interferire con l’indicizzazione.

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

string documentFolder = "YOUR_DOCUMENT_DIRECTORY/";

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

Copiare i file necessari

FilePreparer copia i PDF, DOCX e le immagini sorgente nella cartella di lavoro, preservando la gerarchia originale delle cartelle.

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

Come creare l’indice?

Index rappresenta una collezione ricercabile di documenti e gestisce le strutture di archiviazione sottostanti.

Istanzia l’oggetto Index, puntalo alla tua directory pulita e chiama Build. Questa operazione scansiona ogni file, estrae il testo ricercabile e lo memorizza in una struttura binaria efficiente. Il builder registra anche metadati come percorsi dei file e timestamp, consentendo ricerche rapide e aggiornamenti incrementali senza rielaborare i documenti non modificati.

Creare l’indice

La classe Index è il componente principale che rappresenta una collezione ricercabile di documenti.

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/");

Come rinominare i documenti e notificare l’indice?

DocumentRenamer fornisce utility per rinominare i file mantenendo l’integrità dell’indice.

DocumentRenamer.RenameAndNotify rinomina il file su disco e poi chiama Index.UpdateEntry per mantenere il catalogo accurato. Eseguendo la rinomina e la notifica immediata dell’indice in un’unica transazione, eviti riferimenti obsoleti e garantisci che le ricerche successive restituiscano il nuovo nome del file. Questo metodo registra anche l’operazione per i percorsi di 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}");

Come aggiornare un indice esistente dopo le modifiche?

Index.Refresh applica modifiche incrementali a un indice esistente senza ricostruirlo completamente.

Index.Refresh elabora solo il delta (file nuovi o modificati), riducendo il carico CPU fino al 85 % rispetto a una ricostruzione completa. Il metodo scansiona la directory di lavoro, identifica i file con timestamp modificati e aggiorna le loro voci preservando i documenti non toccati. Questo approccio riduce drasticamente le finestre di manutenzione e mantiene l’esperienza di ricerca reattiva.

using GroupDocs.Search;

Index indexToUpdate = new Index(indexFolder);

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

Casi d’uso comuni

  1. Gestione documenti legali – Indicizza contratti, memorie e fascicoli per un recupero istantaneo.
  2. Sistemi di biblioteca digitale – Fornisce ricerca in tempo reale su migliaia di e‑book e articoli di ricerca.
  3. Enterprise Content Management – Mantieni directory pronte per audit che riflettono automaticamente le convenzioni di denominazione.
  4. Archivi di supporto clienti – Trova rapidamente ticket precedenti, PDF e articoli della knowledge‑base.

Considerazioni sulle prestazioni

  • Aggiornamenti batch – Raggruppa le modifiche in batch di ≤ 500 file per evitare picchi eccessivi di I/O.
  • Gestione della memoria – Disporre dell’oggetto Index dopo ogni operazione; la libreria rilascia automaticamente i buffer nativi.
  • Scansione parallela – Abilita IndexOptions.EnableParallelProcessing per sfruttare CPU multi‑core, ottenendo fino a 3× di velocità su una macchina a 8 core.

Domande frequenti

Q: Qual è l’uso principale di GroupDocs.Redaction?
A: Redige contenuti sensibili da PDF, DOCX e immagini offrendo anche robuste utility per directory e indicizzazione.

Q: Posso gestire più directory simultaneamente?
A: Sì—crea istanze separate di Index per ogni cartella e operale in parallelo.

Q: Come gestisco gli errori durante l’indicizzazione?
A: Avvolgi Index.Build e Index.Refresh in blocchi try‑catch; registra i dettagli di RedactionException per la risoluzione dei problemi.

Q: Quali sono i requisiti di sistema per GroupDocs.Redaction?
A: Un runtime .NET Framework 4.6+ o .NET Core 3.1+, almeno 2 GB di RAM e 500 MB di spazio disco libero per buffer temporanei.

Q: Come posso ottimizzare le prestazioni dell’indice per grandi insiemi di documenti?
A: Chiama regolarmente Index.Refresh, abilita l’elaborazione parallela e limita le dimensioni dei batch per mantenere il consumo di memoria sotto controllo.

Risorse aggiuntive


Ultimo aggiornamento: 2026-06-22
Testato con: GroupDocs.Redaction 23.10 for .NET
Autore: GroupDocs

using GroupDocs.Redaction;

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

Tutorial correlati