Создание поискового индекса .NET с GroupDocs Search и Redaction — Полное руководство
В современном цифровом ландшафте решение по созданию поискового индекса .NET, которое может быстро находить информацию и одновременно защищать конфиденциальные данные, является приоритетом для любой организации. Этот учебник проведёт вас через настройку масштабируемой сети GroupDocs.Search, развертывание узлов, индексацию документов и использование GroupDocs.Redaction для применения редактирования к PDF‑файлам — всё в среде .NET.
Быстрые ответы
- Какой первый шаг для создания поискового индекса .NET? Определите базовый путь и порт, затем разверните узлы сети.
- Как применить редактирование к PDF с помощью GroupDocs? Инициализируйте экземпляр
Redactor, загрузите PDF и вызовитеRedactс нужными шаблонами. - Можно ли запустить поисковую сеть на нескольких машинах? Да — разверните узлы на отдельных серверах, а главный узел будет координировать индексацию и запросы.
- Нужна ли лицензия для использования в продакшене? Для продакшена требуется действующая лицензия GroupDocs; временная пробная лицензия доступна для оценки.
- Какие версии .NET поддерживаются? .NET Framework 4.7.2+, .NET Core 3.1+, а также .NET 5/6/7 полностью поддерживаются.
Что такое «создание поискового индекса .net»?
Создание поискового индекса .NET относится к построению поискового репозитория метаданных и содержимого документов с использованием библиотек .NET, которые извлекают текст, токенизируют термины и сохраняют их в оптимизированной структуре индекса. Это обеспечивает мгновенный отклик на запросы в распределённых узлах, поддерживая различные форматы файлов и позволяя масштабировать высокопроизводительный поиск документов в корпоративных приложениях.
Почему использовать GroupDocs Search и Redaction вместе?
GroupDocs.Search поддерживает более 50 форматов файлов — включая DOCX, PDF, PPTX и HTML — и может индексировать документы в сотни страниц без загрузки всего файла в память. В сочетании с GroupDocs.Redaction, который может применять редактирование к PDF менее чем за 200 мс на страницу, вы получаете безопасный, высокопроизводительный конвейер управления документами.
Необходимые условия
Требуемые библиотеки и зависимости
Чтобы следовать этому учебнику, установите следующие пакеты:
- GroupDocs.Search для .NET
- GroupDocs.Redaction для .NET
Вы можете использовать любой из перечисленных методов для установки необходимых библиотек:
.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
Найдите «GroupDocs.Search» и «GroupDocs.Redaction» и установите последнюю версию.
Требования к настройке окружения
- .NET Framework 4.7.2 или выше (или .NET Core 3.1+)
- IDE Visual Studio (Community, Professional или Enterprise)
Предварительные знания
- Базовое программирование на C#
- Концепции объектно‑ориентированного программирования
- Знакомство с сетевыми конфигурациями и системами управления документами
Настройка GroupDocs.Redaction для .NET
Информация об установке
Чтобы интегрировать функции редактирования в ваше приложение, начните с добавления библиотеки GroupDocs.Redaction:
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
Найдите «GroupDocs.Redaction» и установите её.
Приобретение лицензии
Чтобы начать с бесплатной пробной или временной лицензии, выполните следующие шаги:
- Перейдите на веб‑сайт GroupDocs и запросите временную лицензию.
- Для вариантов покупки перейдите на их страницу ценообразования.
После получения файла лицензии примените его в настройках вашего приложения:
RedactorSettings settings = new RedactorSettings("YOUR_LICENSE_PATH");
Базовая инициализация
Для базовой инициализации GroupDocs.Redaction используйте следующий фрагмент кода:
using GroupDocs.Redaction;
using GroupDocs.Redaction.Options;
Redactor redactor = new Redactor("path/to/your/document.pdf", new LoadOptions(), settings);
Руководство по реализации
Настройка конфигурации
Обзор
Эта функция настраивает вашу поисковую сеть, используя базовый путь и номер порта, формируя основу системы управления документами.
Якорь определения
SearchNetworkDeployment — класс, который оркестрирует развертывание поисковых узлов по сети.
Шаг 1: Определите базовый путь и порт
string basePath = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/TextSearchInNetwork/";
int basePort = 49148; // Define your network's base port
Шаг 2: Настройте сеть
Используйте метод Configure для установки поисковой сети с указанными путём и портом:
using GroupDocs.Search.Scaling.Configuring;
Configuration configuration = ConfiguringSearchNetwork.Configure(basePath, basePort);
Развёртывание узлов сети
Обзор
Разверните узлы внутри настроенной поисковой сети для распределённого поиска документов.
Якорь определения
SearchNetworkNode представляет отдельный поисковый узел, который взаимодействует с главным узлом.
Шаг 1: Инициализируйте развертывание
using GroupDocs.Search.Scaling;
List<SearchNetworkNode> deployedNodes = new List<SearchNetworkNode>();
SearchNetworkNode[] nodes = SearchNetworkDeployment.Deploy(basePath, basePort, configuration);
deployedNodes.AddRange(nodes);
Подписка на события главного узла
Обзор
Подпишитесь на события главного узла для мониторинга и управления операциями сети.
Якорь определения
SearchNetworkNodeEvents предоставляет обратные вызовы для индексации, выполнения запросов и обработки ошибок.
Шаг 1: Определите главный узел
Выберите первый узел в качестве главного:
using GroupDocs.Search.Scaling.Results;
SearchNetworkNode masterNode = nodes[0];
Шаг 2: Подпишитесь на события
Подпишитесь на события с помощью:
SearchNetworkNodeEvents.Subscibe(masterNode);
Индексация документов
Обзор
Индексация документов обеспечивает эффективные поисковые операции. Этот шаг критически важен для быстрой выдачи необходимых данных сетью.
Якорь определения
SearchIndex — основной объект, хранящий поисковые токены и метаданные для каждого проиндексированного файла.
Шаг 1: Добавьте каталоги в индекс
Укажите каталоги, содержащие ваши документы:
using GroupDocs.Search.Options;
IndexingDocuments.AddDirectories(masterNode, @"YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
Функциональность поиска – базовое использование
Обзор
Выполняйте базовые поисковые операции по узлам сети.
Прямой ответ
Вызовите SearchNetwork.Query("your term") на главном узле, чтобы мгновенно получить совпадающие документы. Метод возвращает коллекцию объектов SearchResult, включающих пути к файлам и оценки релевантности.SearchNetwork.Query — метод, который выполняет поисковый запрос по всей сети и возвращает совпадающие результаты.
Шаг 1: Определите параметры поиска
string wordToSearch = "tempor";
bool useSynonymSearch = false;
bool isObjectForm = false;
List<NetworkFoundDocument> searchResults = SearchAll(masterNode, wordToSearch, useSynonymSearch, isObjectForm);
Расширенная функциональность поиска
Обзор
Используйте продвинутые техники поиска с настраиваемыми параметрами для более точных результатов.
Прямой ответ
Реализуйте метод, который создаёт объект SearchOptions, устанавливает свойства UseFuzzySearch, Highlight и PageSize, затем передаёт его в SearchNetwork.QueryAdvanced. Это даёт постраничные, подсвеченные результаты с включённым нечётким поиском.SearchNetwork.QueryAdvanced — метод, который запускает запрос с расширенными опциями, такими как нечёткое совпадение и пагинация.
Шаг 1: Реализуйте метод расширенного поиска
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
}
}
Применение редактирования к PDF‑файлам
Обзор
Защитите конфиденциальную информацию, редактируя содержимое PDF перед хранением или передачей.
Прямой ответ
Создайте экземпляр Redactor, загрузите целевой PDF, определите RedactionPattern (например, regex для SSN), вызовите redactor.Apply(pattern) и сохраните отредактированный документ. Этот процесс гарантирует постоянное удаление персональных данных.
Якорь определения
Redactor — основной класс в GroupDocs.Redaction, который обрабатывает документы и применяет правила редактирования.
Пример рабочего процесса (без нового блока кода)
- Инициализируйте
Redactorс вашей лицензией. - Загрузите PDF с помощью
redactor.Load("sample.pdf"). RedactionPatternпредставляет правило, указывающее текст или шаблон для редактирования. Определите шаблоны, напримерnew RedactionPattern(@"\d{3}-\d{2}-\d{4}").- Выполните
redactor.Apply(pattern). - Сохраните результат с помощью
redactor.Save("sample_redacted.pdf").
Практические применения
Реальные сценарии использования
- Управление юридическими документами — эффективный поиск по контрактам и автоматическое редактирование идентификаторов клиентов.
- Медицинские записи — поиск заметок пациентов при соблюдении требований HIPAA‑совместимого редактирования PHI.
- Корпоративное соответствие — сканирование внутренних коммуникаций на запрещённые термины и редактирование перед архивированием.
Заключение
Это руководство предоставляет полный путь для создания поискового индекса .NET решения, которое масштабируется, быстро индексирует и защищает данные через редактирование. Настраивая узлы, индексируя документы, используя расширенные функции поиска и применяя редактирование, разработчики могут значительно улучшить рабочие процессы управления документами, сохраняя строгие стандарты безопасности.
Часто задаваемые вопросы
В: Как настроить распределённую поисковую сеть в .NET с GroupDocs?
О: Определите базовый путь и порт, затем вызовите SearchNetworkDeployment.Deploy(), чтобы запустить главный и рабочие узлы на разных машинах.
В: Можно ли выполнять расширенный поиск с несколькими параметрами в GroupDocs?
О: Да — используйте SearchOptions для комбинирования нечёткого поиска, поддержки подстановочных знаков и подсветки результатов в одном запросе.
В: Можно ли мониторить активность сети на главном узле?
О: Безусловно — подпишитесь на SearchNetworkNodeEvents, такие как IndexingCompleted и QueryExecuted, для получения информации в реальном времени.
В: Как применить редактирование к PDF‑файлам с помощью GroupDocs?
О: Инициализируйте Redactor, загрузите PDF, определите объекты RedactionPattern (regex или буквальные строки), вызовите Apply и сохраните очищенный документ.
В: Какой самый простой способ повысить производительность поиска в сетевой среде?
О: Полностью проиндексируйте набор документов перед запросами, распределите узлы для параллельной обработки и настройте SearchOptions для кэширования и постраничного вывода.
Последнее обновление: 2026-06-12
Тестировано с: GroupDocs.Search 23.9 for .NET, GroupDocs.Redaction 23.9 for .NET
Автор: GroupDocs