Crea un indice di ricerca .NET con GroupDocs Search e Redaction – Guida completa
Nell’odierno panorama digitale, creare un indice di ricerca .NET è una soluzione che può sia individuare rapidamente le informazioni sia proteggere i dati sensibili, ed è una priorità assoluta per qualsiasi organizzazione. Questo tutorial ti guida nella configurazione di una rete scalabile GroupDocs.Search, nel deployment dei nodi, nell’indicizzazione dei documenti e nell’utilizzo di GroupDocs.Redaction per applicare la redazione ai file PDF — tutto all’interno di un ambiente .NET.
Risposte rapide
- Qual è il primo passo per creare un indice di ricerca .NET? Definire un percorso base e una porta, quindi distribuire i nodi della rete.
- Come applico la redazione ai PDF con GroupDocs? Inizializzare un’istanza di
Redactor, caricare il PDF e chiamareRedactcon i pattern desiderati. - Posso eseguire la rete di ricerca su più macchine? Sì — distribuisci i nodi su server separati e lascia che il nodo master coordini l’indicizzazione e le query.
- È necessaria una licenza per l’uso in produzione? È richiesta una licenza valida di GroupDocs per la produzione; è disponibile una licenza di prova temporanea per la valutazione.
- Quali versioni di .NET sono supportate? .NET Framework 4.7.2+, .NET Core 3.1+ e .NET 5/6/7 sono pienamente supportati.
Cos’è “creare un indice di ricerca .net”?
Creare un indice di ricerca .NET si riferisce alla costruzione di un repository ricercabile di metadati e contenuti dei documenti usando librerie .NET, che estrae il testo, tokenizza i termini e li memorizza in una struttura di indice ottimizzata. Questo consente risposte istantanee alle query su nodi distribuiti, supportando vari formati di file e permettendo il recupero di documenti scalabile e ad alte prestazioni nelle applicazioni aziendali.
Perché usare GroupDocs Search e Redaction insieme?
GroupDocs.Search supporta oltre 50 formati di file — inclusi DOCX, PDF, PPTX e HTML — e può indicizzare documenti di centinaia di pagine senza caricare l’intero file in memoria. Combinato con GroupDocs.Redaction, che può applicare la redazione ai PDF in meno di 200 ms per pagina, ottieni una pipeline di gestione documenti sicura e ad alte prestazioni.
Prerequisiti
Librerie e dipendenze richieste
Per seguire questo tutorial, installa i seguenti pacchetti:
- GroupDocs.Search per .NET
- GroupDocs.Redaction per .NET
Puoi utilizzare uno qualsiasi di questi metodi per installare le librerie necessarie:
.NET CLI
dotnet add package GroupDocs.Search
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Search
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
Cerca “GroupDocs.Search” e “GroupDocs.Redaction” e installa l’ultima versione.
Requisiti di configurazione dell’ambiente
- .NET Framework 4.7.2 o superiore (o .NET Core 3.1+)
- IDE Visual Studio (Community, Professional o Enterprise)
Prerequisiti di conoscenza
- Programmazione C# di base
- Concetti di programmazione orientata agli oggetti
- Familiarità con le configurazioni di rete e i sistemi di gestione documentale
Configurazione di GroupDocs.Redaction per .NET
Informazioni sull’installazione
Per integrare le funzionalità di redazione nella tua applicazione, inizia aggiungendo la libreria GroupDocs.Redaction:
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
Cerca “GroupDocs.Redaction” e installala.
Acquisizione della licenza
Per iniziare con una prova gratuita o una licenza temporanea, segui questi passaggi:
- Visita il sito web di GroupDocs per richiedere una licenza temporanea.
- Per le opzioni di acquisto, vai alla loro pagina dei prezzi.
Una volta ottenuto il file di licenza, applicalo nella configurazione della tua applicazione:
RedactorSettings settings = new RedactorSettings("YOUR_LICENSE_PATH");
Inizializzazione di base
Per inizializzare GroupDocs.Redaction per operazioni di base, utilizza il seguente frammento di codice:
using GroupDocs.Redaction;
using GroupDocs.Redaction.Options;
Redactor redactor = new Redactor("path/to/your/document.pdf", new LoadOptions(), settings);
Guida all’implementazione
Configurazione
Panoramica
Questa funzionalità configura la tua rete di ricerca usando un percorso base e un numero di porta, formando la base del tuo sistema di gestione documenti.
Ancoraggio della definizione
SearchNetworkDeployment è la classe che orchestra il deployment dei nodi di ricerca nella rete.
Step 1: Define Base Path and Port
string basePath = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/TextSearchInNetwork/";
int basePort = 49148; // Define your network's base port
Step 2: Configure the Network
Usa il metodo Configure per impostare la rete di ricerca con il percorso e la porta specificati:
using GroupDocs.Search.Scaling.Configuring;
Configuration configuration = ConfiguringSearchNetwork.Configure(basePath, basePort);
Distribuzione dei nodi di rete
Panoramica
Distribuisci i nodi all’interno della rete di ricerca configurata per la ricerca di documenti distribuita.
Ancoraggio della definizione
SearchNetworkNode rappresenta un nodo ricercabile individuale che comunica con il nodo master.
Step 1: Initialize Deployment
using GroupDocs.Search.Scaling;
List<SearchNetworkNode> deployedNodes = new List<SearchNetworkNode>();
SearchNetworkNode[] nodes = SearchNetworkDeployment.Deploy(basePath, basePort, configuration);
deployedNodes.AddRange(nodes);
Sottoscrizione agli eventi per il nodo master
Panoramica
Sottoscrivi gli eventi sul nodo master per monitorare e gestire le operazioni della rete in modo efficace.
Ancoraggio della definizione
SearchNetworkNodeEvents fornisce callback per l’indicizzazione, l’esecuzione delle query e la gestione degli errori.
Step 1: Identify the Master Node
Seleziona il primo nodo come master:
using GroupDocs.Search.Scaling.Results;
SearchNetworkNode masterNode = nodes[0];
Step 2: Subscribe to Events
Sottoscrivi gli eventi usando:
SearchNetworkNodeEvents.Subscibe(masterNode);
Indicizzazione dei documenti
Panoramica
Indicizza i documenti per operazioni di ricerca efficienti. Questo passo è cruciale per garantire che la tua rete possa recuperare rapidamente i dati necessari.
Ancoraggio della definizione
SearchIndex è l’oggetto principale che memorizza token ricercabili e metadati per ogni file indicizzato.
Step 1: Add Directories to Index
Specifica le directory contenenti i tuoi documenti:
using GroupDocs.Search.Options;
IndexingDocuments.AddDirectories(masterNode, @"YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
Funzionalità di ricerca – Uso base
Panoramica
Esegui operazioni di ricerca di base sui nodi della rete.
Risposta diretta
Chiama SearchNetwork.Query("your term") sul nodo master per recuperare istantaneamente i documenti corrispondenti. Il metodo restituisce una collezione di oggetti SearchResult che includono i percorsi dei file e i punteggi di rilevanza.SearchNetwork.Query è un metodo che esegue una query di ricerca su tutta la rete e restituisce i risultati corrispondenti.
Step 1: Define Search Parameters
string wordToSearch = "tempor";
bool useSynonymSearch = false;
bool isObjectForm = false;
List<NetworkFoundDocument> searchResults = SearchAll(masterNode, wordToSearch, useSynonymSearch, isObjectForm);
Funzionalità di ricerca avanzata
Panoramica
Utilizza tecniche di ricerca avanzata con parametri personalizzabili per risultati più precisi.
Risposta diretta
Implementa un metodo che crea un oggetto SearchOptions, imposta le proprietà UseFuzzySearch, Highlight e PageSize, quindi lo passa a SearchNetwork.QueryAdvanced. Questo restituisce risultati paginati e evidenziati con corrispondenza fuzzy abilitata.SearchNetwork.QueryAdvanced è un metodo che esegue una query con opzioni avanzate come la corrispondenza fuzzy e la paginazione.
Step 1: Implement the Advanced Search Method
using GroupDocs.Search.Scaling.Results;
using System.Collections.Generic;
public static List<NetworkFoundDocument> SearchAll(
SearchNetworkNode node,
string word,
bool useSynonymSearch,
bool isObjectForm)
{
// Initialize searcher and search options for the given node
Searcher searcher = node.Searcher;
SearchOptions options = new SearchOptions {
IsChunkSearch = true, // Enable chunk-based search
UseSynonymSearch = useSynonymSearch
};
int totalOccurrences = 0; // To count occurrences across all documents
List<NetworkFoundDocument> documents = new List<NetworkFoundDocument>();
NetworkSearchResult result;
if (isObjectForm)
{
SearchQuery query = SearchQuery.CreateWordQuery(word);
result = searcher.SearchFirst(query, options); // Perform initial chunk search
}
else
{
string queryText = word;
result = searcher.SearchFirst(queryText, options); // Perform initial text-based search
}
AddDocsFromResult(documents, result);
totalOccurrences += result.OccurrenceCount;
while (result.NextChunkSearchToken != null)
{
result = searcher.SearchNext(result.NextChunkSearchToken);
AddDocsFromResult(documents, result);
totalOccurrences += result.OccurrenceCount;
}
return documents; // Return list of found documents
}
private static void AddDocsFromResult(List<NetworkFoundDocument> documents, NetworkSearchResult result)
{
for (int i = 0; i < result.DocumentCount; i++)
{
documents.Add(result.GetFoundDocument(i)); // Collect each document from the search results
}
}
Applicazione della redazione ai file PDF
Panoramica
Proteggi le informazioni sensibili redigendo il contenuto PDF prima che venga memorizzato o condiviso.
Risposta diretta
Crea un’istanza Redactor, carica il PDF di destinazione, definisci un RedactionPattern (ad esempio, regex SSN), chiama redactor.Apply(pattern) e infine salva il documento redatto. Questo processo garantisce che i dati personali siano rimossi in modo permanente.
Ancoraggio della definizione
Redactor è la classe principale in GroupDocs.Redaction che elabora i documenti e applica le regole di redazione.
Example Workflow (no new code block)
- Inizializza
Redactorcon la tua licenza. - Carica il PDF usando
redactor.Load("sample.pdf"). RedactionPatternrappresenta una regola che specifica il testo o il pattern da redigere. Definisci pattern comenew RedactionPattern(@"\d{3}-\d{2}-\d{4}").- Esegui
redactor.Apply(pattern). - Salva l’output con
redactor.Save("sample_redacted.pdf").
Applicazioni pratiche
Casi d’uso reali
- Gestione dei documenti legali – Ricerca efficiente dei contratti e redazione automatica degli identificatori dei clienti.
- Cartelle cliniche – Individua le note dei pazienti garantendo la redazione conforme a HIPAA dei dati sanitari (PHI).
- Conformità aziendale – Scansiona le comunicazioni interne per termini proibiti e redigili prima dell’archiviazione.
Conclusione
Questa guida fornisce un percorso completo per creare un indice di ricerca .NET che scala, indicizza rapidamente e protegge i dati tramite redazione. Configurando i nodi, indicizzando i documenti, sfruttando le funzionalità di ricerca avanzata e applicando la redazione, gli sviluppatori possono migliorare notevolmente i flussi di lavoro di gestione dei documenti mantenendo standard di sicurezza rigorosi.
Domande frequenti
D: Come configuro una rete di ricerca distribuita in .NET con GroupDocs?
R: Definisci un percorso base e una porta, quindi chiama SearchNetworkDeployment.Deploy() per avviare i nodi master e worker su più macchine.
D: Posso eseguire ricerche avanzate con più parametri in GroupDocs?
R: Sì — usa SearchOptions per combinare la corrispondenza fuzzy, il supporto ai wildcard e l’evidenziazione dei risultati in una singola query.
D: È possibile monitorare l’attività della rete sul nodo master?
R: Assolutamente — sottoscrivi SearchNetworkNodeEvents come IndexingCompleted e QueryExecuted per informazioni in tempo reale.
D: Come applico la redazione ai file PDF usando GroupDocs?
R: Inizializza un Redactor, carica il PDF, definisci oggetti RedactionPattern (regex o stringhe letterali), chiama Apply e salva il documento sanificato.
D: Qual è il modo più semplice per migliorare le prestazioni di ricerca in un ambiente di rete?
R: Indicizza completamente il tuo set di documenti prima delle query, distribuisci i nodi per utilizzare l’elaborazione parallela e ottimizza SearchOptions per caching e paginazione.
Ultimo aggiornamento: 2026-06-12
Testato con: GroupDocs.Search 23.9 for .NET, GroupDocs.Redaction 23.9 for .NET
Autore: GroupDocs