Pesquisar e Redigir Documentos em .NET com GroupDocs.Search & GroupDocs.Redaction

Em ambientes empresariais modernos, as capacidades de search and redact são essenciais para proteger informações sensíveis enquanto mantêm os documentos facilmente descobríveis. Este tutorial orienta você na construção de uma solução .NET robusta que combina GroupDocs.Search para busca de texto completo rápida com GroupDocs.Redaction para remover dados confidenciais de forma segura. Ao final, você saberá como configurar as bibliotecas, criar um segmentador de texto personalizado, executar buscas de alto desempenho e aplicar redações com segurança.

Respostas Rápidas

  • O que significa “search and redact”? Significa encontrar texto em documentos e mascará‑lo permanentemente.
  • Quais bibliotecas são necessárias? GroupDocs.Search e GroupDocs.Redaction para .NET.
  • Posso lidar com conteúdo multilíngue? Sim—use um segmentador de texto personalizado para dividir palavras corretamente.
  • Como melhorar a velocidade de busca? Indexe uma vez, reutilize o índice e habilite as configurações optimize search performance.
  • E se a indexação falhar? Siga as diretrizes “handle indexing errors” na seção de solução de problemas.

O que é “search and redact”?

Search and redact é o processo de localizar termos específicos dentro de uma coleção de documentos e, em seguida, obscurecer ou remover permanentemente esses termos para proteger a privacidade ou atender à conformidade regulatória. Combina busca de texto completo para encontrar informações sensíveis com ferramentas de redação que substituem o conteúdo enquanto preservam o layout original do documento.

Por que usar GroupDocs.Search e GroupDocs.Redaction juntos?

GroupDocs.Search supports 50+ file formats and can index 100,000+ documents in under a minute on typical server hardware, while GroupDocs.Redaction can apply redactions to PDF, DOCX, PPTX, and more without altering the original layout. Combining them gives you a single‑stack solution that optimizes search performance and handles indexing errors gracefully.

Pré-requisitos

  • Visual Studio 2022 ou posterior com suporte a .NET 6+.
  • Pacotes NuGet: GroupDocs.Search e GroupDocs.Redaction (versões estáveis mais recentes).
  • Uma licença válida do GroupDocs (trial ou comprada).

Bibliotecas Necessárias

  • GroupDocs.Search – Fornece indexação, consultas e segmentação personalizada.
  • GroupDocs.Redaction – Oferece redação de texto, imagem e metadados em formatos suportados.

Requisitos de Configuração do Ambiente

Certifique‑se de que sua máquina de desenvolvimento tem permissões de gravação na pasta onde o índice será armazenado.

Pré-requisitos de Conhecimento

  • Familiaridade com C# e estruturas de projetos .NET.
  • Compreensão básica de conceitos de processamento de documentos (opcional, mas útil).

Como instalar o GroupDocs.Redaction para .NET?

Você pode adicionar o pacote Redaction ao seu projeto usando tanto a CLI do .NET quanto o Gerenciador de Pacotes NuGet. O comando baixa a versão estável mais recente e a registra no seu arquivo de projeto, tornando a API disponível para uso imediato.

dotnet add package GroupDocs.Redaction

Como obter uma licença para o GroupDocs?

GroupDocs offers three licensing options: a free trial for evaluation, a temporary license for extended development testing, and a full commercial license for production use. The trial provides limited functionality, while the temporary key extends the evaluation period, and the purchased license unlocks all features and priority support.

Como inicializar o GroupDocs.Redaction na minha aplicação?

The Redaction class is the primary entry point for applying redactions to supported documents. It loads a file, prepares redaction objects, and executes the redaction process, returning a modified document while preserving the original layout. You can also configure redaction options such as color, overlay, and metadata removal to meet specific compliance requirements.

using GroupDocs.Redaction;

// Initialize Redactor with the document path
Redactor redactor = new Redactor("path/to/document.pdf");

Como configurar um índice usando o GroupDocs.Search?

The Index class represents a searchable repository stored on disk. It manages the creation, updating, and querying of the index, allowing you to add documents, rebuild the index, and execute fast searches across large collections. The index folder can be located on local or network storage, and you can configure compression and encryption settings to protect the indexed data.

using GroupDocs.Search;

// Specify the index folder path
string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/CustomTextSegmenter";

// Initialize the index
Index index = new Index(indexFolder);

O que é um Segmentador de Texto Personalizado e Por que devo usá‑lo?

A custom text segmenter determines how raw text is split into searchable tokens. By tailoring segmentation rules for specific languages or domains, you improve tokenization accuracy, leading to higher recall and relevance in search results. This is especially useful for languages with complex word boundaries, such as Japanese or Arabic, where default tokenizers may split words incorrectly.

// Define a search query using Chinese language text
string query = "考虑"; // The word 'consider' in Chinese

Como executar uma Busca de Texto Completo com o Segmentador Personalizado?

The SearchQuery object encapsulates the user’s query and works with the custom segmenter to locate matches. It supports fuzzy matching, phrase queries, and weighting, returning a result set with document IDs, hit positions, and relevance scores. You can also apply filters such as file type or date range to narrow down the results for more precise targeting.

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

Como aplicar Redações após encontrar texto sensível?

The Redaction API lets you replace or remove text, images, and metadata in supported documents. After identifying sensitive terms, you create redaction objects, apply them, and save the redacted file, ensuring confidential information is permanently hidden. Redaction options include overlaying black boxes, applying custom colors, or removing entire objects while preserving document structure.

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();
    }
}

Problemas Comuns e Como lidar com Erros de Indexação

  • Index Not Found: Verifique se o caminho do índice existe e se a aplicação tem permissões de leitura/gravação.
  • Search Returns No Results: Reexecute o processo de indexação e assegure que o segmentador personalizado está corretamente registrado.
  • Redaction Fails on Certain Formats: Confirme se o tipo de arquivo é suportado; para PDFs, use a versão mais recente do Redaction para lidar com recursos do PDF 2.0.

Aplicações Práticas

  1. Legal Document Management: Pesquise contratos por “non‑disclosure” e redija cláusulas automaticamente antes do compartilhamento externo.
  2. Academic Research: Localize dados não publicados em manuscritos e oculte‑os para processos de revisão por pares.
  3. Business Contracts: Processamento em lote de milhares de acordos, redigindo identificadores pessoais enquanto preserva a linguagem jurídica.

Como otimizar o desempenho de busca para grandes conjuntos de documentos?

To maximize performance, index documents once and reuse the same index for subsequent queries. Enable parallel processing, configure caching, and tune the index settings to reduce latency and improve throughput on multi‑core servers. Additionally, set the EnableMemoryMapping flag to allow the index to be memory‑mapped, which speeds up read operations for large datasets.

Como gerenciar a memória do .NET ao trabalhar com arquivos grandes?

Efficient memory management is crucial when handling large documents. Wrap Index and Redaction objects in using statements to ensure deterministic disposal, and process files as streams rather than loading entire documents into memory. Monitoring performance counters helps detect memory spikes early, allowing you to adjust batch sizes or enable garbage collection tuning.

Perguntas Frequentes

Q: Posso usar GroupDocs.Search com metadados não textuais?
A: Sim—campos de metadados podem ser indexados juntamente com o conteúdo do documento, permitindo buscas como “author:JohnDoe”.

Q: O GroupDocs.Redaction suporta redação em tempo real em uma API web?
A: Sim; você pode invocar a Redaction API de forma síncrona para arquivos pequenos ou enfileirar trabalhos maiores para processamento assíncrono.

Q: O que devo fazer se o índice ficar corrompido?
A: Exclua a pasta do índice corrompido e reconstrua‑lo usando a mesma rotina de indexação; a biblioteca registra mensagens de erro detalhadas para ajudar a identificar a causa.

Q: É possível pré‑visualizar documentos redigidos antes de salvar?
A: Absolutamente—chame redaction.Apply() com a flag preview para gerar uma versão temporária para revisão.

Q: Quais versões do .NET são oficialmente suportadas?
A: GroupDocs.Search e GroupDocs.Redaction suportam .NET 6, .NET 5, .NET Core 3.1 e .NET Framework 4.6.2+.

Recursos


Última Atualização: 2026-06-12
Testado com: GroupDocs.Search 23.11, GroupDocs.Redaction 23.11 for .NET
Autor: GroupDocs

Install-Package GroupDocs.Redaction

Tutoriais Relacionados