Добавление нескольких псевдонимов и добавление документов в индекс в GroupDocs.Search Java: Полное руководство

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

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

  • Что является первым шагом для начала использования GroupDocs.Search? Добавьте зависимость Maven и инициализируйте объект Index.
  • Как добавить документы в индекс? Вызовите index.add("<folder_path>") с папкой, содержащей ваши файлы.
  • Могу ли я создавать псевдонимы для сложных запросов? Да — используйте словарь псевдонимов для сопоставления коротких токенов с полными выражениями запросов, а также вы можете добавлять несколько псевдонимов пакетно.
  • Можно ли экспортировать и импортировать словари псевдонимов? Конечно — используйте методы exportDictionary и importDictionary.
  • Какая версия GroupDocs.Search требуется? Версия 25.4 или новее (в руководстве используется 25.4).

Что означает «добавление документов в индекс»?

Добавление документов в индекс означает загрузку исходных файлов (PDF, DOCX, TXT и т.д.) в GroupDocs.Search, чтобы библиотека могла проанализировать их содержимое и построить поисковый индекс. После индексирования вы можете выполнять быстрые полнотекстовые запросы по всем этим документам.

Почему управлять псевдонимами?

Псевдонимы позволяют заменять длинные, повторяющиеся фрагменты запросов короткими, запоминающимися токенами (например, @t(gravida OR promotion)). Это не только сокращает строки запросов, но и повышает читаемость, поддерживаемость и оптимизирует производительность поиска, особенно когда запросы становятся сложными.

Как добавить несколько псевдонимов?

GroupDocs.Search предоставляет удобный метод addRange, который позволяет вставлять множество пар «псевдоним‑замена» сразу. Такая пакетная операция уменьшает накладные расходы по сравнению с добавлением каждого псевдонима по отдельности.

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

Перед тем как приступить, убедитесь, что у вас есть:

  • GroupDocs.Search for Java ≥ 25.4.
  • JDK (любая современная версия, например, 11+).
  • IDE, например IntelliJ IDEA или Eclipse.
  • Базовые знания Java и Maven.

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

Прямое скачивание

Либо скачайте последнюю JAR‑файл с официального сайта:
GroupDocs.Search for Java releases.

Шаги получения лицензии

  1. Free Trial – исследуйте все функции без обязательств.
  2. Temporary License – запросите краткосрочный ключ для оценки.
  3. Full Purchase – получите постоянную лицензию для использования в продакшене.

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

import com.groupdocs.search.Index;

public class GroupDocsSetup {
    public static void main(String[] args) {
        // Specify the directory to store indices
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";
        
        // Create or open an index
        Index index = new Index(indexFolder);
        
        System.out.println("GroupDocs.Search setup complete.");
    }
}

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

Ниже представлена полная пошаговая инструкция по каждому элементу. Сначала прочитайте объяснения, затем скопируйте соответствующий блок кода.

Создание или открытие индекса

Как добавить документы в индекс – сначала вам нужен активный объект Index.

Шаг 1: Импортировать класс Index

import com.groupdocs.search.Index;

Шаг 2: Определить, где будут храниться файлы индекса

String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Indexes/Index";

Шаг 3: Создать новый индекс или открыть существующий

Index index = new Index(indexFolder);

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

Теперь, когда индекс существует, давайте добавим документы в индекс.

Шаг 1: Указать папку-источник

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/Documents";

Шаг 2: Добавить каждый поддерживаемый файл из этой папки

index.add(documentsFolder);

Pro tip: Запускайте этот шаг каждый раз, когда появляются новые файлы. GroupDocs.Search будет индексировать только новый контент, оставляя существующие записи нетронутыми. Это суть incremental indexing java.

Управление словарем псевдонимов

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

Очистка существующих псевдонимов

if (index.getDictionaries().getAliasDictionary().getCount() > 0) {
    index.getDictionaries().getAliasDictionary().clear();
}

Добавление одиночных псевдонимов

index.getDictionaries().getAliasDictionary().add("t", "(gravida OR promotion)");
index.getDictionaries().getAliasDictionary().add("e", "(viverra OR farther)");

Добавление нескольких псевдонимов

AliasReplacementPair[] pairs = new AliasReplacementPair[] {
    new AliasReplacementPair("d", "daterange(2017-01-01 ~~ 2019-12-31)"),
    new AliasReplacementPair("n", "(400 ~~ 4000)")
};
index.getDictionaries().getAliasDictionary().addRange(pairs);

Запрос замен псевдонимов

Вы можете получить полный текст любого определённого псевдонима:

if (index.getDictionaries().getAliasDictionary().contains("e")) {
    String replacement = index.getDictionaries().getAliasDictionary().getText("e");
}

Экспорт и импорт словаря псевдонимов

Экспорт удобен для резервного копирования или обмена между средами.

Экспорт псевдонимов

String fileName = "YOUR_OUTPUT_DIRECTORY/Aliases.dat";
index.getDictionaries().getAliasDictionary().exportDictionary(fileName);

Импорт псевдонимов

index.getDictionaries().getAliasDictionary().importDictionary(fileName);

Поиск с использованием запросов‑псевдонимов

С псевдонимами ваши поисковые строки становятся гораздо чище:

String query = "@t OR @e";
SearchResult result = index.search(query);

Символ @ сообщает GroupDocs.Search заменить токен его полным выражением перед выполнением поиска.

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

СценарийКак помогают псевдонимы
Управление юридическими документамиСопоставьте номера дел (@case123) со сложными булевыми выражениями, ускоряя поиск.
Поиск товаров в электронной коммерцииЗамените часто используемые комбинации атрибутов (@sale) на (discounted OR clearance).
Базы данных исследованийИспользуйте @year2020 для расширения до фильтра диапазона дат по множеству статей.

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

  • Incremental Indexing: Добавляйте только новые или изменённые файлы; избегайте полного переиндексирования.
  • JVM Tuning: Выделите достаточный объём heap‑памяти (-Xmx4g для больших корпусов).
  • Batch Alias Updates: Используйте addRange для вставки множества псевдонимов за один раз, уменьшая накладные расходы.
  • Optimize Search Performance: Держите словарь псевдонимов компактным и разумно переиспользуйте токены, чтобы минимизировать время разбора запросов.

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

ПроблемаРешение
Новые файлы недоступны для поискаЗапустите index.add(newFolder) снова; GroupDocs.Search индексирует только ранее неучтённые файлы.
Псевдоним возвращает пустой результатПроверьте, что ключ псевдонима (@) правильно префиксирован и что словарь содержит токен.
Высокое потребление памяти при пакетном индексированииУвеличьте heap‑память JVM (-Xmx) и рассмотрите индексирование небольшими партиями.

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

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

Q: Можно ли использовать GroupDocs.Search с базами данных?
A: Да — извлекайте данные из любого источника (SQL, NoSQL, CSV) и передавайте их в индекс с помощью тех же методов add.

Q: Как псевдонимы повышают эффективность поиска?
A: Псевдонимы позволяют один раз сохранить сложную логику запроса и переиспользовать её короткими токенами, сокращая время разбора запросов и уменьшая человеческие ошибки при поиске с псевдонимами.

Q: Можно ли обновить существующий псевдоним без полной перестройки словаря?
A: Абсолютно — просто вызовите add с тем же ключом; библиотека перезапишет предыдущее значение.

Q: Что делать, если поиск возвращает неожиданные результаты?
A: Проверьте правильность определений псевдонимов, переиндексируйте вновь добавленные документы и проверьте настройки анализатора на предмет проблем с токенизацией.


Последнее обновление: 2026-03-06
Тестировано с: GroupDocs.Search 25.4 for Java
Автор: GroupDocs