Java Full Text Search: Как индексировать текст с помощью GroupDocs.Search

Если вам нужен java full text search, который масштабируется до миллионов документов, вы попали в нужное место. В этом руководстве мы пройдем настройку GroupDocs.Search в среде Java, конфигурирование хранилища с высокой компрессией, добавление папки в индекс и выполнение молниеносных запросов. К концу вы получите готовое к продакшену решение, которое можно интегрировать в любой проект на Java.

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

  • Какова основная библиотека? GroupDocs.Search for Java
  • Как добавить папку в индекс? Use index.add(folderPath)
  • Можно ли настроить сжатие текста? Yes, via TextStorageSettings(Compression.High)
  • Какая версия Java требуется? JDK 8 or higher
  • Где получить пробную лицензию? From the GroupDocs website or the repository page

Что такое Java Full Text Search и почему это важно?

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

  • High performance – оптимизированное индексирование и выполнение запросов.
  • Built‑in compression – уменьшает занимаемое диском пространство без потери скорости.
  • Broad format support – индексирует PDF, файлы Word, электронные письма и многое другое сразу из коробки.
  • Simple API – интуитивные методы Java, которые естественно вписываются в существующий код.

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

Before you begin, make sure you have:

  • GroupDocs.Search for Java (version 25.4 or later)
  • JDK 8+ installed and configured
  • Maven for dependency management
  • An IDE such as IntelliJ IDEA or Eclipse

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

Настройка Maven

Add the repository and dependency to your pom.xml file:

<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>

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

Alternatively, download the latest version from GroupDocs.Search for Java releases.

Приобретение лицензии

  • Free Trial – исследуйте все функции без обязательств.
  • Temporary License – расширенный период тестирования.
  • Purchase – полный доступ к производственным возможностям.

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

Create a simple Java class to initialize the search engine:

import com.groupdocs.search.Index;

public class InitializeSearch {
    public static void main(String[] args) {
        // Path to store index data
        String indexPath = "path/to/index";
        
        // Creating an index at specified location
        Index index = new Index(indexPath);
        
        System.out.println("GroupDocs.Search initialized successfully!");
    }
}

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

Шаг 1: Определите папку индекса

Choose a directory where the index files will reside:

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\StoringTextOfIndexedDocuments";

Шаг 2: Настройте параметры индекса

Set up high‑compression text storage to reduce disk usage:

import com.groupdocs.search.Index;
import com.groupdocs.search.IndexSettings;
import com.groupdocs.search.options.TextStorageSettings;
import com.groupdocs.search.compression.Compression;

IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));

Шаг 3: Создайте индекс с пользовательскими настройками

Instantiate the index using the configuration defined above:

Index index = new Index(indexFolder, settings);
System.out.println("Index created with high compression.");

Как добавить папку в индекс

Шаг 1: Инициализируйте индекс (если ещё не сделано)

Assuming the index folder and settings are prepared:

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; // Replace with actual document path.
Index index = new Index(indexFolder);

Шаг 2: Добавьте документы из папки

Index all supported files in the given directory:

index.add(documentsFolder);
System.out.println("Documents added successfully.");

Как искать по индексированным документам

Шаг 1: Определите поисковый запрос

Specify the term you want to locate:

String query = "Lorem";  

Шаг 2: Выполните поиск

Run the query against the index and retrieve results:

import com.groupdocs.search.results.SearchResult;

SearchResult result = index.search(query);
System.out.println("Search completed. Results found: " + result.getDocumentCount());

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

Real‑world scenarios where java full text search shines:

  1. Legal Document Management – мгновенное получение судебных дел.
  2. Academic Research Libraries – быстрый поиск статей и диссертаций.
  3. Enterprise Knowledge Bases – быстрый доступ к руководствам и FAQ.
  4. Content Management Systems – эффективный поиск контента для крупных сайтов.
  5. Customer Service Archives – быстрый поиск прошлых тикетов и чатов.

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

  • Compression vs. Speed: Высокая компрессия экономит место, но может добавить небольшие накладные расходы при индексировании. Протестируйте оба варианта для вашей нагрузки.
  • Memory Management: Контролируйте использование кучи при индексировании очень больших корпусов.
  • Index Updates: Регулярно добавляйте новые документы или удаляйте устаревшие, чтобы результаты поиска оставались актуальными.
  • Query Optimization: Используйте расширенный синтаксис запросов GroupDocs.Search для точных результатов.

Распространённые ошибки и профессиональные советы

  • Pitfall: Забыть вызвать index.optimize() после массового добавления.
    Pro tip: Запускайте index.optimize() каждую ночь, чтобы поддерживать компактность индекса.

  • Pitfall: Использовать компрессию по умолчанию (низкую) на огромных наборах данных.
    Pro tip: Перейдите на Compression.High в производственной среде, чтобы сократить затраты на хранение.

  • Pitfall: Не обрабатывать IOException при добавлении файлов с сетевого ресурса.
    Pro tip: Оборачивайте index.add() в блок try‑catch и регистрируйте любые сбои для последующего анализа.

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

Q: Что такое GroupDocs.Search?
A: Это мощная библиотека Java, предоставляющая расширенные возможности полнотекстового поиска, включая индексирование, сжатие и поддержку сложных запросов.

Q: Как работать с большими наборами данных в GroupDocs.Search?
A: Включите высокую компрессию (Compression.High) и периодически фиксируйте изменения, чтобы индекс оставался компактным. Также выделите достаточный объём памяти кучи.

Q: Можно ли интегрировать GroupDocs.Search с существующими корпоративными системами?
A: Да, библиотеку можно встроить в любой Java‑бэкенд, REST‑сервисы или микросервисную архитектуру.

Q: Что делать, если мой индекс устарел?
A: Используйте метод index.add() для добавления новых файлов и index.delete() для удаления устаревших, затем при необходимости повторно выполните index.optimize().

Q: Где можно получить помощь или поддержку?
A: Посетите форум сообщества по адресу GroupDocs forums для решения проблем и советов по лучшим практикам.

Ресурсы


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