Извлечение текста из PDF Java: создание индекса документов с GroupDocs.Search
В этом практическом руководстве вы узнаете how to extract text from PDF Java приложения и преобразовывать этот сырой контент в быстрый полнотекстовый индекс. Независимо от того, создаёте ли вы внутреннюю базу знаний, портал поиска контрактов или собственный поисковый движок, нижеописанные шаги проведут вас через всё — от извлечения текста из PDF до сериализации данных, создания индекса и, наконец, выполнения запросов. Давайте погрузимся и посмотрим, почему GroupDocs.Search делает весь процесс плавным и масштабируемым.
Быстрые ответы
- Какова основная цель? Извлекать текст из файлов PDF Java и создавать полнотекстовый индекс документов с помощью GroupDocs.Search.
- Какая версия библиотеки? GroupDocs.Search 25.4 (или последняя версия).
- Нужна ли лицензия? Бесплатная пробная версия подходит для разработки; для продакшна требуется полная лицензия.
- Можно ли индексировать PDF? Да — извлекать текст из PDF и добавлять его в индекс.
- Как выполнить поиск? Используйте метод
index.search(query)после добавления данных.
Что такое индекс документов?
Индекс документов — это структурированная коллекция поисковых терминов, извлечённых из ваших файлов. Создавая индекс документов, вы обеспечиваете быстрый полнотекстовый поиск по большим репозиториям, значительно повышая скорость и точность извлечения.
Почему использовать GroupDocs.Search для Java?
- Robust extraction – Обрабатывает PDF, Word, Excel и другие форматы.
- Easy serialization – Сохраняйте извлечённые данные в виде массивов байтов для последующего использования.
- Scalable indexing – Эффективно индексировать миллионы документов.
- Powerful query language – Поддерживает сложные полнотекстовые запросы Java.
Предварительные требования
- GroupDocs.Search for Java (Версия 25.4 или новее).
- Java Development Kit (JDK), совместимый с вашей версией GroupDocs.
- IDE, например IntelliJ IDEA или Eclipse.
- Maven для управления зависимостями.
Настройка GroupDocs.Search для Java
Сначала добавьте библиотеку в ваш проект.
Maven Setup
Включите следующее в ваш файл 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>
Direct Download
В качестве альтернативы загрузите последнюю версию с GroupDocs.Search for Java releases.
Приобретение лицензии
- Free Trial – Тестировать все функции с временной лицензией.
- Purchase – Получить полный доступ и приоритетную поддержку.
Пошаговая реализация
Как извлекать текст из PDF (и других документов)
Извлечение сырого или отформатированного текста — первый шаг к созданию индекса документов. Когда вы extract text from PDF Java, вы предоставляете поисковому движку то, что он может понять.
String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);
Tip: Установите
setUseRawTextExtraction(true), если нужен простой текст без форматирования.
Как сериализовать извлечённые данные
Сериализация позволяет сохранять извлечённые данные для последующего индексирования.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Как десериализовать извлечённые данные
Когда вы готовы построить индекс, преобразуйте массив байтов обратно в объект.
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Как создать индекс документов
Теперь, когда у вас есть deserializedData, вы можете создать индекс, который будет содержать поисковые термины.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Как добавить данные в индекс и выполнить поиск
Добавление данных и запрос к индексу завершают рабочий процесс extract text from PDF Java.
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
String query = "ipsum";
SearchResult result = index.search(query);
Pro tip: Используйте
index.search("your query", SearchOptions), чтобы точно настроить ранжирование релевантности.
Распространённые сценарии использования
- Document Management Systems – Быстро находить контракты, счета или политики.
- Content‑Based Search Engines – Обеспечивать внутренние базы знаний с возможностями полнотекстового поиска Java.
- Data Archiving Solutions – Индексировать исторические записи для мгновенного доступа.
Соображения по производительности
- Memory Management: Настройте размер кучи JVM для больших пакетов документов.
- Indexing Options: Отключите ненужные функции (например, term vectors), чтобы ускорить индексацию.
- Regular Updates: Держите GroupDocs.Search в актуальном состоянии, чтобы получать улучшения производительности.
Часто задаваемые вопросы
Q: Как эффективно обрабатывать очень большие PDF‑файлы?
A: Потоково считывайте файл с помощью Extractor и обрабатывайте его частями; также при необходимости увеличьте кучу JVM.
Q: Можно ли настроить синтаксис поискового запроса?
A: Да — GroupDocs.Search поддерживает логические операторы, подстановочные знаки и поиск по близости.
Q: Что делать, если сериализация не удалась?
A: Убедитесь, что все объекты реализуют Serializable, и перехватывайте IOException для записи деталей.
Q: Можно ли индексировать только определённые разделы документа?
A: Конечно — настройте ExtractionOptions, чтобы фильтровать страницы или разделы перед индексацией.
Q: Как обновить до более новой версии GroupDocs.Search?
A: Обновите номер версии в вашем pom.xml и выполните mvn clean install; ознакомьтесь с руководством по миграции для выявления несовместимых изменений.
Ресурсы
- Документация: GroupDocs Documentation
- Справочник API: GroupDocs API Reference
- Скачать: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Бесплатная поддержка: GroupDocs Forum
- Временная лицензия: Obtain a Temporary License
Последнее обновление: 2026-02-19
Тестировано с: GroupDocs.Search 25.4 for Java
Автор: GroupDocs