Выполните текстовый поиск с помощью GroupDocs.Search для Java

Оптимизация производительности

Как реализовать и оптимизировать поисковую сеть с помощью GroupDocs.Search для Java

Введение

В настоящее время, ориентированный на данные, возможность выполнять текстовый поиск быстро по настольным коллекциям документов является конкурентным преимуществом. Независимо от того, создаете ли вы внутренние базы знаний, храните юридические товары или каталог товаров для электронной коммерции, правильно настроенная поисковая сеть может повысить удовлетворенность пользователей. В этом руководстве вы узнаете, как настроить поисковую сеть, создать индекс с возможностью поиска, оптимизировать производительность поиска, а также удалить индекс документов при необходимости — с помощью GroupDocs.Search для Java.

Что вы узнаете

  • Настройка поисковой сети с GroupDocs.Search
  • Развёртывание узлов в сети.
  • Эффективное индексирование документов («индексные документы Java»)
  • Выполнение текстовых поисковиков в вашей сети («выполнить текстовый поиск»)
  • Удаление конкретных документов из индекса («удалить индекс документов»)

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

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

  • **Какова основная цель GroupDocs.Search для Java?**Он обеспечивает полнотекстовый поиск во многих форматах документов.
  • **Как выполнить текстовый поиск в распределенной среде?**Разверните поисковую сеть, проиндексируйте документы на главном узле, а затем запросите любой узел.
  • **Могу ли я удалять документы из индекса, не перестраивая его?**Да, используйте API удаления для удаления выбранных файлов.
  • **Какая версия Java требуется?**JDK8 или выше. — Требуется ли лицензия для использования в производственной среде? Требуется действующая лицензия GroupDocs.Search; доступна бесплатная пробная версия.

Что такое «выполнение текстового поиска»?

Выполнение текстового поиска означает запрос к полнотекстовому индексу для извлечения документов, содержащих указанные ключевые слова или фразы. GroupDocs.Search создает инвертированный индекс, что делает эти поиски чрезвычайно быстрыми, даже при работе с тысячами файлов.

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

Поисковая сеть распределяет нагрузку индексирования и запросов между несколькими узлами, что позволяет оптимизировать производительность поиска, масштабироваться горизонтально и поддерживать высокую доступность. Эта архитектура идеально подходит для корпоративных хранилищ документов, где важны задержка и пропускная способность.

Предварительные условия

  • Необходимые библиотеки: GroupDocs.Search для Java версии 25.4 (последняя).

  • Среда: JavaJDK8+, Maven.

  • Знания: Базовые знания программирования на Java и знакомство с сетевыми концепциями.

Настройка GroupDocs.Search для Java

Для начала интегрируйте GroupDocs.Search в свой Java-проект, используя следующую настройку:

Настройка 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>

Прямая загрузка

В качестве альтернативы вы можете скачать последнюю версию напрямую с GroupDocs.

Получение лицензии

GroupDocs предлагает бесплатную пробную версию, которая позволяет оценить ее возможности перед покупкой. Вы можете получить временную лицензию, следуя инструкциям на их странице покупки. Это позволит использовать все функции на этапе тестирования.

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

Инициализируйте GroupDocs.Search в вашем Java-приложении с помощью:

import com.groupdocs.search.*;

class SearchNetworkSetup {
    public static void main(String[] args) {
        Index index = new Index("path/to/index/directory");
        // Additional configuration can be set here.
    }
}

Руководство по внедрению

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

Обзор: Установите базовый путь и порт для вашей поисковой сети, чтобы узлы могли эффективно взаимодействовать.

Шаг 1: Определение базовой конфигурации
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104; // Change if necessary.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • Параметры:

  • basePath: Путь к каталогу для сетевых операций.

  • basePort: Номер порта, используемого поисковой сетью.

Шаг 2: Устранение неполадок

Убедитесь, что указанный вами порт не заблокирован настройками брандмауэра и не используется другим приложением. При необходимости внесите корректировки, чтобы избежать конфликтов.

Развертывание узлов поисковой сети

Обзор: Используя вашу конфигурацию, разверните узлы в вашей сети для распределенного индексирования и поиска.

import com.groupdocs.search.scaling.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

// Nodes are now deployed and ready for further operations.
  • Основные параметры конфигурации:

  • Базовый путь и порт: Эти значения должны совпадать с теми, которые использовались в вашей первоначальной конфигурации для обеспечения согласованности.

Индексирование документов (создать индекс для поиска)

Обзор: Эффективное добавление документов в поисковый индекс с помощью главного узла.

import com.groupdocs.search.scaling.*;

String documentsPath = "YOUR_DOCUMENT_DIRECTORY/path/to/documents";
SearchNetworkNode masterNode = nodes[0];
IndexingDocuments.addDirectories(masterNode, documentsPath);
  • Назначение:
  • masterNode: Основной узел, управляющий индексированием документов.
  • documentsPath: Путь к каталогу, содержащему документы.
Советы по устранению неполадок

Убедитесь, что пути к документам указаны правильно и доступны. Убедитесь, что права доступа позволяют читать из этих каталогов.

Поиск текста в сети (выполнить текстовый поиск)

Обзор: Выполняйте комплексный текстовый поиск по индексированной сети.

import com.groupdocs.search.scaling.*;

String query = "nulla";
SearchNetworkNode masterNode = nodes[0];
TextSearchInNetwork.searchAll(masterNode, query, false);
  • Параметры:

  • query: Текст, который вы ищете.

  • masterNode: Узел, выполняющий поиск.

Удаление документов из индекса (удалить документы из индекса)

Обзор: Удаляйте определенные документы из индекса, используя их пути к файлам.

import com.groupdocs.search.scaling.*;

SearchNetworkNode node = nodes[0];
String[] filePaths = {
    "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf",
    "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx"
};
deleteDocuments(node, filePaths);

void deleteDocuments(SearchNetworkNode node, String... filePaths) {
    Indexer indexer = node.getIndexer();
    DeleteOptions options = new DeleteOptions();
    indexer.delete(filePaths, options);
}
  • Назначение метода:

  • node: Целевой узел для операций удаления.

  • filePaths: Пути к документам, которые необходимо удалить из индекса.

Устранение неполадок

Убедитесь, что пути к файлам указаны точно и что файлы существуют в вашем каталоге. Если проблемы сохраняются, проверьте сетевые разрешения и подключение.

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

  1. Управление документами предприятия: Оптимизация внутреннего поиска знаний.
  2. Анализ юридических дел: Быстрый поиск соответствующих файлов дел в нескольких хранилищах.
  3. Платформы электронной коммерции: Повышение скорости поиска товаров за счет индексирования описаний и отзывов.
  4. Академические исследования: Эффективный поиск в больших цифровых библиотеках статей и диссертаций.
  5. Системы поддержки клиентов: Сокращение времени ответа за счет возможности мгновенного поиска по прошлым заявкам.

Рекомендации по производительности

  • Оптимизация скорости индексирования: Добавляйте новые документы постепенно в непиковые часы, чтобы минимизировать задержку.
  • Рекомендации по использованию ресурсов: Отслеживайте загрузку ЦП и памяти, особенно при увеличении количества узлов.
  • Управление памятью Java: Настройте параметры кучи JVM в зависимости от вашей рабочей нагрузки (например, -Xmx2g для индексов среднего размера).

Заключение

Следуя этому руководству, вы научились настраивать поисковую сеть, создавать индекс для поиска, выполнять текстовый поиск и удалять индекс документов с помощью GroupDocs.Search для Java. Эти возможности обеспечивают быстрый и надежный поиск документов в распределенных средах.

Дальнейшие шаги

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

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

— Изучите возможности интеграции с другими продуктами GroupDocs для комплексной обработки документов.

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

В: Каково основное назначение GroupDocs.Search для Java? О: Он обеспечивает полнотекстовый поиск по множеству форматов документов, позволяя выполнять текстовый поиск в больших хранилищах.

В: Как можно повысить скорость поиска в большой сети? О: Разверните дополнительные узлы, настройте кучу JVM и запланируйте индексирование на периоды низкой нагрузки, чтобы оптимизировать производительность поиска.

В: Можно ли удалить один документ без переиндексации всей коллекции? О: Да, используйте API удаления документов из индекса, как показано в примере кода, для удаления конкретных файлов.

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

В: Можно ли индексировать PDF-файлы, файлы Word и электронные письма одновременно? О: Безусловно — GroupDocs.Search поддерживает широкий спектр форматов «из коробки».

Последнее обновление: 16.01.2026 Протестировано с: GroupDocs.Search для Java 25.4 Автор: GroupDocs