Como Criar Índice em .NET com a API GroupDocs Search

Neste tutorial você descobrirá como criar índice para suas aplicações .NET usando GroupDocs.Search e, em seguida, proteger conteúdo sensível com GroupDocs.Redaction. Ao final do guia você será capaz de construir, atualizar e limpar um índice pesquisável, e entenderá por que combinar busca e redação é uma prática recomendada para gerenciamento seguro de documentos.

Respostas Rápidas

  • O que significa “how to create index”? Significa construir uma estrutura de dados pesquisável que mapeia o conteúdo do documento para chaves de busca rápidas.
  • Quais bibliotecas são necessárias? GroupDocs.Search e GroupDocs.Redaction para .NET (pacotes NuGet).
  • Posso indexar PDFs, Word e imagens? Sim—mais de 150 formatos são suportados nativamente.
  • Como excluir um documento do índice? Chame o método Delete com o caminho ou ID do documento.
  • A redação é realizada antes ou depois da indexação? A redação deve acontecer primeiro, para que dados protegidos nunca entrem no índice.

O que é “how to create index”?

A expressão how to create index refere‑se ao processo de gerar uma estrutura de dados pesquisável que armazena mapeamentos termo‑para‑documento para recuperação rápida. No GroupDocs, essa estrutura reside no disco e pode ser atualizada incrementalmente sem reconstruir toda a coleção.

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

GroupDocs.Search suporta indexação de mais de 150 formatos de arquivo e pode lidar com índices maiores que 10 GB mantendo o uso de memória abaixo de 200 MB, pois transmite arquivos em vez de carregá‑los completamente. Adicionar GroupDocs.Redaction garante que qualquer texto confidencial, imagens ou metadados sejam removidos antes que o conteúdo chegue ao índice, assegurando conformidade com GDPR, HIPAA e outras regulamentações.

Pré‑requisitos

  • Bibliotecas e Versões – Instale os pacotes NuGet mais recentes de GroupDocs.Search e GroupDocs.Redaction que sejam compatíveis com .NET 6 ou superior.
  • IDE – Visual Studio 2022 (ou qualquer IDE que suporte .NET 6).
  • Conhecimento – Habilidades básicas em C#, familiaridade com I/O de arquivos e compreensão dos conceitos de indexação.

Configurando GroupDocs.Redaction para .NET

Instalação

Using .NET CLI:

dotnet add package GroupDocs.Redaction

Using Package Manager Console in Visual Studio:

Install-Package GroupDocs.Redaction

Você também pode localizar “GroupDocs.Redaction” na UI do NuGet Package Manager e instalar a versão estável mais recente.

Aquisição de Licença

Você pode obter uma avaliação gratuita ou solicitar uma licença temporária para explorar todos os recursos sem limitações. Visite a Página de Compra da GroupDocs para mais detalhes sobre como obter uma licença.

Inicialização Básica

Redactor é a classe principal que realiza operações de redação em um documento.
O trecho a seguir mostra o código mínimo necessário para começar a usar o GroupDocs.Redaction:

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

Esta configuração simples é tudo o que você precisa para começar a usar o GroupDocs.Redaction.

Guia de Implementação

Como criar índice?

Index representa o contêiner pesquisável que contém dicionários de termos e metadados de documentos.
Carregue ou crie um objeto Index, aponte‑o para uma pasta onde os arquivos de índice serão armazenados e chame Create. A operação grava os arquivos de metadados necessários e prepara o motor para ingestão de documentos.

// 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.

Etapa 1: Criar o Índice

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.

Como adicionar documentos ao índice?

Add insere um único documento no índice, enquanto AddFolder processa todos os arquivos em um diretório.
Você adiciona arquivos chamando Add ou AddFolder. O motor lê cada arquivo suportado, extrai o texto e atualiza o dicionário de termos.

// 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.

Etapa 2: Adicionar Pastas de Documentos

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

Como recuperar caminhos indexados?

GetIndexedPaths retorna uma coleção de todos os caminhos de documentos armazenados no índice.
Recuperar a lista de caminhos de arquivos indexados permite verificar quais documentos estão atualmente pesquisáveis.

// 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.

Etapa 3: Exibir Caminhos Indexados

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

Como excluir documento do índice?

Delete remove um documento do índice pelo seu caminho ou identificador.
Quando um arquivo é removido ou se torna obsoleto, você deve excluir sua entrada para manter os resultados de busca precisos.

// 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.

Etapa 4: Excluir Caminhos Específicos

using GroupDocs.Search.Options;

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

Como verificar os caminhos indexados restantes após a exclusão?

Após a remoção, você pode executar novamente o método de recuperação para garantir que o índice reflita o estado atual.

// 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.

Etapa 5: Verificar Caminhos Restantes

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

Aplicações Práticas

  1. Sistemas de Gerenciamento de Documentos – Localize rapidamente contratos, faturas ou manuais em milhões de arquivos.
  2. Revisão de Documentos Legais – Redija informações privilegiadas antes da indexação para evitar exposição acidental.
  3. Soluções de Arquivamento – Preserve metadados pesquisáveis para registros históricos sem carregar todo o arquivo na memória.
  4. Plataformas de Gerenciamento de Conteúdo – Potencialize a busca em todo o site para blogs, bases de conhecimento e bibliotecas multimídia.
  5. Auditorias de Conformidade de Dados – Garanta que apenas conteúdo sanitizado seja pesquisável, atendendo aos requisitos regulatórios.

Considerações de Desempenho

  • Otimizar a Indexação – Agende indexação incremental à noite; use AddFolder com tamanho de lote de 100 arquivos para reduzir picos de I/O.
  • Gerenciamento de Recursos – Monitore CPU e RAM; GroupDocs.Search processa arquivos de forma streaming, mantendo o pico de memória abaixo de 200 MB mesmo para índices de 10 GB.
  • Melhores Práticas – Armazene o índice em SSDs para resposta de consulta em subsegundos, e habilite compressão (index.Compression = true) para reduzir o uso de disco à metade.

Perguntas Frequentes

Q: Posso indexar arquivos não‑texto com o GroupDocs?
A: Sim, o GroupDocs.Search pode indexar mais de 150 formatos—incluindo PDFs, DOCX, PPTX, XLSX e tipos de imagem—extraindo texto incorporado via OCR quando necessário.

Q: Como lidar com grandes volumes de documentos?
A: Use AddFolder com um tamanho de lote configurável, execute a indexação em um serviço em segundo plano e chame periodicamente Optimize() para mesclar pequenos segmentos de índice.

Q: Quais são os benefícios de usar redação com indexação?
A: A redação remove informações de identificação pessoal antes que cheguem ao índice, garantindo que os resultados de busca nunca exponham dados protegidos.

Q: É possível personalizar algoritmos de busca?
A: O GroupDocs.Search fornece dicionários de sinônimos, tokenizadores personalizados e filtros de expressões regulares, permitindo ajustar finamente a pontuação de relevância.

Q: Como solucionar problemas comuns de indexação?
A: Verifique permissões de pastas, assegure que o runtime .NET corresponde ao alvo da biblioteca e confira o arquivo de log gerado na pasta do índice para mensagens detalhadas de erro.

Recursos

Explore esses recursos para aprofundar seu entendimento e aprimorar sua implementação do GroupDocs.Search e Redaction em .NET. Boa codificação!


Última Atualização: 2026-07-26
Testado com: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Autor: GroupDocs

Tutoriais Relacionados