Cómo crear un índice en .NET con la API de GroupDocs Search
En este tutorial descubrirá cómo crear un índice para sus aplicaciones .NET usando GroupDocs.Search y luego protegerá contenido sensible con GroupDocs.Redaction. Al final de la guía podrá crear, actualizar y depurar un índice buscable, y comprenderá por qué combinar búsqueda y redacción es una mejor práctica para la gestión segura de documentos.
Respuestas rápidas
- ¿Qué significa “cómo crear un índice”? Significa crear una estructura de datos buscable que asigna el contenido del documento a claves de búsqueda rápidas.
- ¿Qué bibliotecas se requieren? GroupDocs.Search y GroupDocs.Redaction para .NET (paquetes NuGet).
- ¿Puedo indexar PDFs, Word e imágenes? Sí—se admiten más de 150 formatos de forma predeterminada.
- ¿Cómo elimino un documento del índice? Llame al método
Deletecon la ruta o ID del documento. - ¿La redacción se realiza antes o después de la indexación? La redacción debe ocurrir primero para que los datos protegidos nunca entren al índice.
Qué es “cómo crear un índice”
La frase cómo crear un índice se refiere al proceso de generar una estructura de datos buscable que almacena mapeos de término a documento para una recuperación rápida. En GroupDocs, esta estructura reside en disco y puede actualizarse de forma incremental sin reconstruir toda la colección.
Por qué usar GroupDocs.Search y GroupDocs.Redaction juntos?
GroupDocs.Search admite la indexación de más de 150 formatos de archivo y puede manejar índices de más de 10 GB manteniendo el uso de memoria por debajo de 200 MB porque transmite los archivos en lugar de cargarlos completamente. Añadir GroupDocs.Redaction garantiza que cualquier texto confidencial, imágenes o metadatos se eliminen antes de que el contenido llegue al índice, asegurando el cumplimiento de GDPR, HIPAA y otras regulaciones.
Requisitos previos
- Bibliotecas y versiones – Instale los paquetes NuGet más recientes de GroupDocs.Search y GroupDocs.Redaction que sean compatibles con .NET 6 o posterior.
- IDE – Visual Studio 2022 (o cualquier IDE que admita .NET 6).
- Conocimientos – Habilidades básicas de C#, familiaridad con I/O de archivos y comprensión de conceptos de indexación.
Configuración de GroupDocs.Redaction para .NET
Instalación
Usando .NET CLI:
dotnet add package GroupDocs.Redaction
Usando la consola del Administrador de paquetes en Visual Studio:
Install-Package GroupDocs.Redaction
También puede localizar “GroupDocs.Redaction” en la interfaz del Administrador de paquetes NuGet e instalar la versión estable más reciente.
Obtención de licencia
Puede obtener una prueba gratuita o solicitar una licencia temporal para explorar todas las funciones sin limitaciones. Visite la Página de compra de GroupDocs para más detalles sobre cómo obtener una licencia.
Inicialización básica
Redactor es la clase principal que realiza operaciones de redacción en un documento.
El siguiente fragmento muestra el código mínimo necesario para comenzar a usar GroupDocs.Redaction:
// Initialize the Redactor with a file path or stream
using (Redactor redactor = new Redactor("input.docx"))
{
// Your redaction code here
}
Esta configuración simple es todo lo que necesita para comenzar a usar GroupDocs.Redaction.
Guía de implementación
¿Cómo crear un índice?
Index representa el contenedor buscable que contiene diccionarios de términos y metadatos de documentos.
Cargue o cree un objeto Index, apúntelo a una carpeta donde se almacenarán los archivos del índice y llame a Create. La operación escribe los archivos de metadatos necesarios y prepara el motor para la ingestión 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.
Paso 1: Crear el í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.
¿Cómo agregar documentos al índice?
Add inserta un solo documento en el índice, mientras que AddFolder procesa todos los archivos en un directorio.
Agrega archivos llamando a Add o AddFolder. El motor lee cada archivo compatible, extrae texto y actualiza el diccionario de términos.
// 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.
Paso 2: Agregar carpetas 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
¿Cómo recuperar rutas indexadas?
GetIndexedPaths devuelve una colección de todas las rutas de documentos almacenadas en el índice.
Recuperar la lista de rutas de archivos indexados le permite verificar qué documentos son actualmente buscables.
// 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.
Paso 3: Mostrar rutas indexadas
string[] indexedPaths1 = index.GetIndexedPaths();
foreach (string path in indexedPaths1)
{
Console.WriteLine(path); // Outputs the document paths
}
¿Cómo eliminar un documento del índice?
Delete elimina un documento del índice por su ruta o identificador.
Cuando un archivo se elimina o queda obsoleto, debe eliminar su entrada para mantener la precisión de los resultados de búsqueda.
// 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.
Paso 4: Eliminar rutas específicas
using GroupDocs.Search.Options;
string[] pathsToDelete = { @"YOUR_DOCUMENT_DIRECTORY" };
DeleteResult deleteResult = index.Delete(pathsToDelete, new UpdateOptions());
// This deletes specified document paths from the index.
¿Cómo verificar las rutas indexadas restantes después de la eliminación?
Después de la eliminación, puede volver a ejecutar el método de recuperación para asegurarse de que el índice refleje el estado actual.
// 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.
Paso 5: Verificar rutas restantes
string[] indexedPaths2 = index.GetIndexedPaths();
foreach (string path in indexedPaths2)
{
Console.WriteLine(path); // Displays remaining paths after deletion
}
Aplicaciones prácticas
- Sistemas de gestión de documentos – Localice rápidamente contratos, facturas o manuales entre millones de archivos.
- Revisión de documentos legales – Redacte información privilegiada antes de la indexación para evitar exposiciones accidentales.
- Soluciones de archivo – Preserve metadatos buscables para registros históricos sin cargar todo el archivo en memoria.
- Plataformas de gestión de contenido – Potencie la búsqueda a nivel de sitio para blogs, bases de conocimiento y bibliotecas multimedia.
- Auditorías de cumplimiento de datos – Garantice que solo el contenido sanitizado sea buscable, cumpliendo con los requisitos regulatorios.
Consideraciones de rendimiento
- Optimizar la indexación – Programe la indexación incremental cada noche; use
AddFoldercon un tamaño de lote de 100 archivos para reducir picos de I/O. - Gestión de recursos – Monitoree CPU y RAM; GroupDocs.Search procesa archivos de forma streaming, manteniendo la memoria máxima por debajo de 200 MB incluso para índices de 10 GB.
- Mejores prácticas – Almacene el índice en SSDs para respuestas de consulta en menos de un segundo, y habilite la compresión (
index.Compression = true) para reducir a la mitad el uso de disco.
Preguntas frecuentes
P: ¿Puedo indexar archivos no textuales con GroupDocs?
R: Sí, GroupDocs.Search puede indexar más de 150 formatos—incluidos PDFs, DOCX, PPTX, XLSX y tipos de imagen—extrayendo texto incrustado mediante OCR cuando sea necesario.
P: ¿Cómo manejo grandes volúmenes de documentos?
R: Use AddFolder con un tamaño de lote configurable, ejecute la indexación en un servicio en segundo plano y llame periódicamente a Optimize() para combinar pequeños segmentos del índice.
P: ¿Cuáles son los beneficios de usar redacción con indexación?
R: La redacción elimina la información de identificación personal antes de que llegue al índice, garantizando que los resultados de búsqueda nunca expongan datos protegidos.
P: ¿Es posible personalizar los algoritmos de búsqueda?
R: GroupDocs.Search ofrece diccionarios de sinónimos, tokenizadores personalizados y filtros de expresiones regulares, lo que le permite afinar la puntuación de relevancia.
P: ¿Cómo soluciono problemas comunes de indexación?
R: Verifique los permisos de la carpeta, asegúrese de que el runtime de .NET coincida con el objetivo de la biblioteca y revise el archivo de registro generado en la carpeta del índice para obtener mensajes de error detallados.
Recursos
- Documentación: GroupDocs Redaction .NET Docs
- Referencia de API: GroupDocs Redaction .NET API
- Descarga: Latest GroupDocs Releases
- Soporte gratuito: GroupDocs Forum
- Licencia temporal: Request a Temporary License
Explore estos recursos para profundizar su comprensión y mejorar su implementación de GroupDocs.Search y Redaction en .NET. ¡Feliz codificación!
Última actualización: 2026-07-26
Probado con: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Autor: GroupDocs
Tutoriales relacionados
- Creación y fusión de índices maestros con GroupDocs.Redaction .NET para una gestión eficiente de documentos
- Dominar GroupDocs.Redaction .NET: Creación eficiente de índices y gestión de alias para búsqueda avanzada de documentos
- Dominar GroupDocs Search y Redaction en .NET: Guía completa para la gestión de documentos