Как добавить зависимость GroupDocs Maven для поисковой сети

В этом полном руководстве вы узнаете как добавить зависимость groupdocs Maven, настроите надёжную поисковую сеть Java с использованием GroupDocs.Search и синхронизируете ваши шарды. Независимо от того, индексируете ли вы юридические документы, финансовые отчёты или академические статьи, нижеописанные шаги помогут вам создать поисковые индексы, распределить нагрузку запросов по узлам и поддерживать согласованность данных с минимальными усилиями.

Быстрые ответы

  • Что такое зависимость GroupDocs Maven? Maven‑артефакт, который включает библиотеку GroupDocs.Search для Java‑проектов.
  • Зачем использовать поисковую сеть? Она распределяет нагрузку индексации и запросов по нескольким узлам, повышая скорость и надёжность.
  • Как добавить каталоги в индекс? Используйте IndexingDocuments.addDirectories на главном узле.
  • Как синхронизировать шарды? Вызовите SynchronizeOptions у Indexer каждого узла.
  • Нужна ли лицензия? Да, для использования в продакшене требуется пробная или коммерческая лицензия.

Что такое зависимость GroupDocs Maven?

GroupDocs Maven dependency — это Maven‑артефакт, который включает библиотеку GroupDocs.Search для Java‑проектов.
Он предоставляет все необходимые классы для создания поисковых индексов, управления узлами сети и выполнения быстрых запросов, а Maven автоматически разрешает транзитивные зависимости, предоставляя готовый к использованию поисковый движок всего несколькими строками в вашем pom.xml.

Как добавить зависимость GroupDocs Maven

Добавьте репозиторий и запись зависимости в ваш pom.xml, затем выполните mvn clean install; Maven скачает JAR groupdocs-search и требуемые библиотеки, сделав API доступным в проекте. После успешной сборки вы сможете сразу использовать классы com.groupdocs.search.

Конфигурация Maven

Добавьте репозиторий и зависимость в ваш pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

Совет: Следите за актуальностью номера версии, проверяя страницу официальных релизов.

Вы также можете скачать JAR напрямую с официального сайта: GroupDocs.Search for Java releases.

Зачем использовать поисковую сеть?

Поисковая сеть обеспечивает горизонтальное масштабирование за счёт разбиения индекса на шарды, размещённые на отдельных узлах. GroupDocs.Search поддерживает более 50 форматов ввода и обрабатывает документы со сотнями страниц без загрузки полного файла в память, обеспечивая ответы на запросы менее чем за секунду даже при росте объёма данных.

Требования

  • JDK (11 или новее) установлен.
  • IDE, например IntelliJ IDEA или Eclipse.
  • Базовые знания Java, знакомство с Maven и понимание концепций сетевых узлов.
  • Действующая лицензия GroupDocs.Search (бесплатная пробная или коммерческая).

Базовая инициализация и настройка

Начните с создания каталога индекса:

import com.groupdocs.search.SearchIndex;
import com.groupdocs.search.options.IndexingOptions;

// Create an index in the specified directory
SearchIndex index = new SearchIndex("YOUR_INDEX_DIRECTORY");

Этот простой шаг подготавливает окружение для последующей настройки сети.

Руководство по реализации

Функция 1: Конфигурация поисковой сети

Обзор

Настройка поисковой сети задаёт пути к файлам и порты, которые узлы будут использовать для связи.

Настройка путей и портов

Configuration — класс, содержащий сетевые пути, порты и другие параметры кластера поиска.

import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.ConfiguringSearchNetwork;

// Set custom paths for input/output directories
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SynchronizingShards/";
int basePort = 49144; // Adjust if there's a port conflict

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

Объект configuration теперь содержит все необходимые настройки для вашей поисковой сети.

Функция 2: Развёртывание узлов поисковой сети

Обзор

Разворачивайте узлы, чтобы распределить рабочую нагрузку по сети. Главный узел управляет операциями и событиями.

Код развертывания

SearchNetworkNode представляет узел в поисковой сети, который может выступать в роли мастера или рабочего.

import com.groupdocs.search.scaling.*;
import com.groupdocs.search.options.Configuration;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Retrieve the master node for further operations
SearchNetworkNode masterNode = nodes[0];

Функция 3: Подписка на события узлов поисковой сети

Обзор

Прослушивание событий позволяет динамически реагировать на изменения или обновления в сети.

Реализация подписки

SearchNetworkNodeEvents предоставляет хуки событий для жизненного цикла узла и действий индексации.

import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;

SearchNetworkNodeEvents.subscribe(masterNode);

Функция 4: Добавление каталогов в индекс

Обзор

Добавление каталогов — ключевой шаг, делающий ваши документы доступными для поиска.

Добавление документов

IndexingDocuments.addDirectories добавляет пути к папкам в индекс для обработки.

import com.groupdocs.search.indexing.IndexingDocuments;
import com.groupdocs.search.scaling.SearchNetworkNode;

IndexingDocuments.addDirectories(masterNode, "YOUR_DOCUMENT_DIRECTORY/DocumentsPath");

Функция 5: Синхронизация шардов в узле поисковой сети

Обзор

Синхронизация обеспечивает согласованность данных во всех шардах.

Код синхронизации

SynchronizeOptions настраивает способ синхронизации шардов между узлами.

import com.groupdocs.search.indexing.Indexer;
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.options.SynchronizeOptions;

SearchNetworkNode node = null; // Assume 'node' is initialized as a SearchNetworkNode

def synchronizeShards(SearchNetworkNode node) {
    Indexer indexer = node.getIndexer();
    SynchronizeOptions options = new SynchronizeOptions();
    indexer.synchronize(options);
}

Функция 6: Закрытие узлов поисковой сети

Обзор

Корректное закрытие узлов освобождает ресурсы и предотвращает утечки памяти.

Закрытие узла

close() освобождает ресурсы и завершает работу узла поисковой сети.

import com.groupdocs.search.scaling.SearchNetworkNode;

for (SearchNetworkNode node : nodes) {
    node.close();
}

Практические применения

  1. Управление юридическими документами – Быстрый поиск дел и прецедентов.
  2. Ведение финансовой отчётности – Доступ к выпискам и аудиторским журналам за секунды.
  3. Академические исследования – Поиск по тысячам статей для нахождения релевантных цитат.

Соображения по производительности

  • Оптимизация запросов – Пишите лаконичные запросы, чтобы сократить время отклика.
  • Управление памятью – Следите за использованием кучи JVM; при больших индексах рассматривайте настройку GC.
  • Стратегия масштабирования – Добавляйте узлы пропорционально объёму данных и нагрузке запросов.

Распространённые проблемы и решения

ПроблемаПричинаРешение
Узлы не могут подключитьсяКонфликт портовИзмените basePort на свободное значение
Индекс не обновляетсяОтсутствует подписка на событияУбедитесь, что вызван SearchNetworkNodeEvents.subscribe(masterNode)
Высокая задержкаНедостаточно шардовУвеличьте количество узлов и сбалансируйте распределение документов

Часто задаваемые вопросы

Q: Какова основная выгода от использования GroupDocs.Search?
A: Он обеспечивает быстрый, масштабируемый поиск по большим наборам документов с минимальной настройкой.

Q: Можно ли настраивать параметры узлов в поисковой сети?
A: Да, вы можете задавать пользовательские пути, порты и другие опции через объект Configuration.

Q: Как добавить каталоги в индекс после запуска сети?
A: Вызывайте IndexingDocuments.addDirectories(masterNode, "path") каждый раз, когда нужно проиндексировать новые папки.

Q: Как синхронизировать шарды, когда в сеть добавляется новый узел?
A: Используйте метод synchronizeShards, показанный выше, на только что добавленном узле.

Q: Нужна ли лицензия для разработки?
A: Для тестирования достаточно бесплатной пробной лицензии; для продакшена требуется коммерческая лицензия.

Заключение

Следуя этому руководству, вы теперь знаете, как добавить зависимость groupdocs Maven, настроить многопользовательскую поисковую сеть, индексировать каталоги и синхронизировать шарды. Эти шаги закладывают основу высокопроизводительного решения поиска документов, которое может расти вместе с потребностями вашей организации.


Последнее обновление: 2026-05-17
Тестировано с: GroupDocs.Search 25.4
Автор: GroupDocs

Связанные руководства