Создание индекса документов .NET с Aspose.GroupDocs Redaction
Управление большими коллекциями файлов может быстро превратиться в кошмар, если у вас нет надёжного способа поддерживать порядок в папках и актуальность поискового индекса. В этом руководстве вы узнаете, как создать индекс документов .net с помощью GroupDocs.Redaction для .NET, охватывая подготовку каталогов, создание индекса, переименование документов и обновление индекса. К концу вы получите повторяемый рабочий процесс, который масштабируется от нескольких PDF до тысяч юридических или служебных документов.
Быстрые ответы
- Какая библиотека нужна? GroupDocs.Redaction for .NET (latest NuGet version).
- Какие версии .NET поддерживаются? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6+.
- Сколько форматов можно индексировать? Более 50 входных форматов — включая PDF, DOCX, XLSX, PPTX и распространённые типы изображений.
- Можно ли переименовать файлы без нарушения индекса? Да — используйте встроенный метод
Rename, а затем вызовитеNotifyIndex. - Требуется ли лицензия для продакшн? Действительная лицензия GroupDocs.Redaction обязательна для использования в продакшн.
Что такое «Create Document Index .NET»?
Create document index .net относится к процессу создания поискового каталога файлов в .NET‑приложении, где каждая запись хранит метаданные, такие как имя файла, путь и фрагменты содержимого. Этот индекс обеспечивает быстрый поиск без сканирования всей файловой системы каждый раз.
Почему использовать GroupDocs.Redaction для индексации?
GroupDocs.Redaction не только редактирует конфиденциальный контент, но и предоставляет высокопроизводительный движок индексации, способный обрабатывать до 10 000 документов в минуту на стандартном 8‑ядерном сервере, при этом удерживая использование памяти ниже 200 МБ для большинства нагрузок. Его API абстрагирует особенности файловой системы, предоставляя единый способ управления каталогами и синхронизации индексов.
Предварительные требования
- GroupDocs.Redaction NuGet пакет установлен (последний стабильный релиз).
- Visual Studio 2022 или любой совместимый с .NET IDE.
- Базовые знания C# (работа с файлами, обработка исключений).
Требуемые библиотеки, версии и зависимости
GroupDocs.Redaction≥ 23.10 (поддерживает .NET Standard 2.0 и .NET 5+).- Необязательно:
Microsoft.Extensions.Loggingдля детальной диагностики.
Требования к настройке окружения
Добавьте пакет с помощью одной из следующих команд (не изменяйте заполнители, представляющие реальные блоки кода):
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
Найдите “GroupDocs.Redaction” и установите последнюю версию.
Шаги получения лицензии
- Free Trial – Получите 30‑дневную пробную версию через портал GroupDocs.
- Temporary License – Запросите временный ключ для расширенного тестирования.
- Purchase – Приобретите производственную лицензию для разблокировки полной функциональности.
Как подготовить чистый рабочий каталог?
Загрузите целевую папку, удалите случайные временные файлы и скопируйте исходные документы, которые планируете индексировать. Этот шаг подготовки устраняет ошибки «файл‑используется» во время индексации и гарантирует, что построитель индекса работает с детерминированным набором файлов. Обеспечивая чистую среду, вы снижаете количество ложных срабатываний, избегаете проблем с правами доступа и повышаете общую производительность индексации.
Очистка каталога
Класс DirectoryCleaner удаляет остаточные файлы (например, *.tmp, *.bak), которые могут мешать индексации.
using GroupDocs.Search.Common;
using System.IO;
string documentFolder = "YOUR_DOCUMENT_DIRECTORY/";
// Ensure the directory is empty before use
Utils.CleanDirectory(documentFolder);
Копирование необходимых файлов
FilePreparer копирует исходные PDF, DOCX и изображения в рабочую папку, сохраняя исходную иерархию папок.
// Copy essential documents to the target directory from a source path
Utils.CopyFiles(Utils.DocumentsPath, documentFolder);
Как создать индекс?
Index представляет собой поисковую коллекцию документов и управляет базовыми структурами хранения.
Создайте объект Index, укажите ему ваш чистый каталог и вызовите Build. Эта операция сканирует каждый файл, извлекает поисковый текст и сохраняет его в эффективной бинарной структуре. Конструктор также фиксирует метаданные, такие как пути файлов и временные метки, обеспечивая быстрый поиск и инкрементные обновления без повторной обработки неизменённых документов.
Создание индекса
Класс Index — основной компонент, представляющий поисковую коллекцию документов.
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/");
Как переименовать документы и уведомить индекс?
DocumentRenamer предоставляет утилиты для переименования файлов с сохранением целостности индекса.
DocumentRenamer.RenameAndNotify переименовывает файл на диске, а затем вызывает Index.UpdateEntry, чтобы каталог оставался точным. Выполняя переименование и немедленное уведомление индекса в одной транзакции, вы избегаете устаревших ссылок и гарантируете, что последующие поиски возвращают новое имя файла. Этот метод также записывает операцию в журнал аудита.
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}");
Как обновить существующий индекс после изменений?
Index.Refresh применяет инкрементные изменения к существующему индексу без полного его перестроения.
Index.Refresh обрабатывает только дельту (новые или изменённые файлы), снижая нагрузку на CPU до 85 % по сравнению с полным перестроением. Метод сканирует рабочий каталог, определяет файлы с изменёнными временными метками и обновляет их записи, сохраняя неизменённые документы. Такой подход значительно сокращает окна обслуживания и поддерживает отзывчивость поиска.
using GroupDocs.Search;
Index indexToUpdate = new Index(indexFolder);
// Updates metadata without reindexing the entire document
indexToUpdate.Update();
Распространённые сценарии использования
- Legal Document Management – Индексировать контракты, судебные материалы и файлы дел для мгновенного доступа.
- Digital Library Systems – Обеспечить поиск в реальном времени по тысячам электронных книг и научных статей.
- Enterprise Content Management – Поддерживать каталоги, готовые к аудиту, автоматически отражающие правила именования.
- Customer Support Archives – Быстро находить предыдущие заявки, PDF и статьи базы знаний.
Соображения по производительности
- Batch Updates – Группировать изменения пакетами ≤ 500 файлов, чтобы избежать резких пиков ввода‑вывода.
- Memory Management – Освобождать объект
Indexпосле каждой операции; библиотека автоматически освобождает нативные буферы. - Parallel Scanning – Включите
IndexOptions.EnableParallelProcessingдля использования многоядерных процессоров, достигая ускорения до 3× на 8‑ядерной машине.
Часто задаваемые вопросы
Q: Каково основное назначение GroupDocs.Redaction?
A: Он удаляет конфиденциальный контент из PDF, DOCX и изображений, а также предоставляет надёжные утилиты для работы с каталогами и индексацией.
Q: Можно ли управлять несколькими каталогами одновременно?
A: Да — создайте отдельные экземпляры Index для каждой папки и работайте с ними параллельно.
Q: Как обрабатывать ошибки во время индексации?
A: Оберните Index.Build и Index.Refresh в блоки try‑catch; записывайте детали RedactionException для отладки.
Q: Каковы системные требования для GroupDocs.Redaction?
A: Среда выполнения .NET Framework 4.6+ или .NET Core 3.1+, минимум 2 ГБ ОЗУ и 500 МБ свободного дискового пространства для временных буферов.
Q: Как оптимизировать производительность индекса для больших наборов документов?
A: Регулярно вызывайте Index.Refresh, включайте параллельную обработку и ограничивайте размер пакетов, чтобы контролировать потребление памяти.
Дополнительные ресурсы
- Документация: Документация GroupDocs Redaction
- Справочник API: Справочник GroupDocs API
- Скачать: Получить GroupDocs Redaction
- Бесплатная поддержка: Форум GroupDocs
- Временная лицензия: Получить временную лицензию
Последнее обновление: 2026-06-22
Тестировано с: GroupDocs.Redaction 23.10 for .NET
Автор: GroupDocs
using GroupDocs.Redaction;
// Initialize the Redactor object with your document path
var redactor = new Redactor("YOUR_DOCUMENT_PATH");
Связанные руководства
- Реализовать GroupDocs.Search & Redaction: Обновление и управление индексами документов в .NET
- Мастер создания и объединения индексов с GroupDocs.Redaction .NET для эффективного управления документами
- Мастерство GroupDocs.Redaction .NET: Эффективное создание индекса и управление псевдонимами для продвинутого поиска документов