Реализация GroupDocs.Search Java для поиска документов
В сегодняшней ориентированной на данные среде, implement groupdocs search java является необходимым для любого приложения, которому нужен быстрый, надёжный полнотекстовый поиск по PDF, Word, электронным таблицам и другим форматам. Независимо от того, создаёте ли вы репозиторий юридических контрактов, академический исследовательский портал или базу знаний службы поддержки клиентов, этот учебник проведёт вас через установку SDK, создание индекса, выполнение нечетких запросов и генерацию HTML с выделенными поисковыми терминами — всё на Java.
Быстрые ответы
- Какая библиотека помогает реализовать groupdocs search java? GroupDocs.Search for Java.
- Могу ли я выделять поисковые термины java в результатах? Yes—generated HTML can automatically wrap matches with
<mark>tags. - Нужна ли лицензия для продакшн? A free trial is available; a full license is required for commercial use.
- Какой IDE лучше всего подходит? Any Java IDE—IntelliJ IDEA, Eclipse, or VS Code.
- Поддерживается ли Maven? Absolutely—add the repository and dependency to your
pom.xml.
Что такое GroupDocs.Search для Java?
GroupDocs.Search — это Java SDK, который индексирует и ищет текст более чем в 50+ форматах документов (PDF, DOCX, XLSX, PPTX, TXT и т.д.) без загрузки всего файла в память. Он предлагает нечеткое сопоставление, логические операторы, запросы фраз и встроенное выделение результатов, делая его готовым решением для поисковых репозиториев документов.
Почему использовать поиск документов Java с GroupDocs.Search?
Он обеспечивает скорость: индексированные поиски возвращают результаты менее чем за 10 мс для 10 тыс. документов, гибкость через нечеткий поиск, логические операции, запросы фраз и расширение синонимов, выделение путем генерации HTML‑превью, автоматически отмечающих совпадения, а также масштабируемость, позволяя работать локально, в облаке или в гибридных средах, обрабатывая файлы со множеством страниц без избыточного потребления памяти.
Требования
- Java Development Kit (JDK) 8 или выше.
- Maven (или ручное управление JAR).
- IDE, например IntelliJ IDEA, Eclipse или VS Code.
- Базовое знакомство со структурой проекта Java и Maven.
Настройка GroupDocs.Search для Java
Установка через Maven
Add the GroupDocs repository and the Search dependency to your 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>
Прямое скачивание
Если вы предпочитаете не использовать Maven, скачайте последнюю JAR с официальной страницы релизов: GroupDocs.Search for Java releases.
Шаги получения лицензии
- Free Trial: Начните с бесплатного пробного периода, чтобы изучить возможности.
- Temporary License: Получите через официальный сайт GroupDocs.
- Purchase: Приобретите полную лицензию для неограниченного использования в продакшн.
Базовая инициализация и настройка
The Index class is the core component that represents a searchable index stored on disk. After creating an index folder, you instantiate the Index object to add, delete, or query documents:
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/ObtainSearchResultInformation";
Index index = new Index(indexFolder);
Как искать документы Java – Функция 1: Извлечение информации о результатах поиска
Эта функция объясняет, как выполнить запрос, получить совпадающие документы и получить подробные данные о вхождениях для каждого термина. Следуя шагам, вы можете создавать аналитические панели или генерировать подробные отчёты из результатов поиска.
Шаг 1: Создать индекс
The Index class is the top‑level object that stores searchable metadata on disk. Creating it points to a folder where all index files will reside:
String indexFolder = YOUR_DOCUMENT_DIRECTORY + "/ObtainSearchResultInformation";
Index index = new Index(indexFolder);
index.add(documentFolder);
Шаг 2: Настроить параметры поиска (Включить нечеткий поиск)
SearchOptions lets you fine‑tune query behavior. Setting FuzzySearch to true enables approximate matching, which is useful for handling typos or OCR errors:
SearchOptions options = new SearchOptions();
options.getFuzzySearch().setEnabled(true);
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3));
Шаг 3: Выполнить поиск
Index.search runs the query against the prepared index and returns a SearchResult collection containing matched documents and term occurrences:
String query = "favourable OR \"ipsum dolor\"";
SearchResult result = index.search(query, options);
Объект SearchResult содержит список документов, соответствующих запросу, и их оценки релевантности.
Шаг 4: Извлечь вхождения
Each SearchResult item provides getOccurrences() which returns the exact positions of the query terms inside the source file, allowing you to build analytics dashboards or detailed reports:
for (int i = 0; i < result.getDocumentCount(); i++) {
FoundDocument document = result.getFoundDocument(i);
for (FoundDocumentField field : document.getFoundFields()) {
if (field.getTerms() != null) {
for (String term : field.getTerms()) {
int occurrences = field.getTermsOccurrences()[field.getTerms().indexOf(term)];
System.out.println("Term: " + term + ", Occurrences: " + occurrences);
}
}
if (field.getTermSequences() != null) {
for (String[] terms : field.getTermSequences()) {
int occurrences = field.getTermSequencesOccurrences()[ArrayUtils.indexOf(field.getTermSequences(), terms)];
StringBuilder sequence = new StringBuilder();
for (String term : terms) {
sequence.append(term).append(" ");
}
System.out.println("Phrase: " + sequence.toString() + ", Occurrences: " + occurrences);
}
}
}
}
Функция 2: Выделение поисковых терминов Java в документах
Сгенерируйте HTML‑превью, где каждое совпадение обёрнуто в тег <mark>, предоставляя конечным пользователям мгновенные визуальные подсказки.
Шаг 1: Настроить индекс с высоким уровнем сжатия
High compression reduces storage by up to 70 % while keeping query speed within milliseconds. Adjust the CompressionLevel property before indexing:
String indexFolder = YOUR_DOCUMENT_DIRECTORY + "/HighlightSearchResults";
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
Index index = new Index(indexFolder, settings);
index.add(documentFolder);
Шаг 2: Выполнить поиск и выделить результаты
After executing the search, call highlight() on the SearchResult object to produce an HTML file that highlights every occurrence of the query term. The highlight() method generates an HTML preview with matched terms wrapped in <mark> tags:
SearchResult result = index.search("solicitude");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
String path = YOUR_OUTPUT_DIRECTORY + "/Highlighted.html";
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, path);
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
index.highlight(document, highlighter);
}
Практические применения
- Legal Document Review – Находите конкретные пункты в тысячах контрактов за секунды.
- Academic Research – Извлекайте ключевые фразы из научных статей для обзоров литературы.
- Customer Support – Выявляйте повторяющиеся проблемы в архивах электронной почты для улучшения страниц FAQ.
- Content Management – Выделяйте SEO‑ключевые слова в статьях и блогах для быстрой редакционной проверки.
Соображения по производительности
- Compression: Высокое сжатие уменьшает объём хранилища, но может увеличить нагрузку на CPU; проводите бенчмарк с типичной нагрузкой.
- Memory Management: Индексируйте документы партиями по 500 – 1 000 файлов, чтобы контролировать объём кучи JVM.
- Index Refresh: Переиндексируйте изменённые файлы каждую ночь, чтобы результаты поиска оставались актуальными.
Заключение
Это руководство показало, как implement groupdocs search java, извлекать подробную информацию о результатах и highlight search terms java в HTML‑превью. Следуя этим шагам, вы сможете предоставить быстрый, удобный поиск для любого репозитория документов.
Следующие шаги
- Вставьте выделенный HTML в ваш веб‑интерфейс с помощью
<iframe>или серверного рендеринга. - Поэкспериментируйте с дополнительными
SearchOptions, такими какSynonymSearchилиWildcardSearch. - Изучите справочник API GroupDocs.Search для пользовательского ранжирования, постраничного вывода результатов и поддержки нескольких языков.
Часто задаваемые вопросы
Q: Что такое GroupDocs.Search?
A: GroupDocs.Search — это Java SDK, который индексирует и ищет текст более чем в 50 форматах документов, предлагая нечеткое сопоставление и выделение результатов.
Q: Как работает нечеткий поиск?
A: Он допускает заданное количество различий в символах, позволяя находить совпадения по ошибочным словам или ошибкам OCR.
Q: Могу ли я использовать GroupDocs.Search без лицензии?
A: Да, доступен бесплатный пробный период, но полная лицензия требуется для продакшн‑развертываний.
Q: Какие форматы файлов поддерживаются?
A: PDF, DOCX, XLSX, PPTX, TXT и многие другие — см. официальную документацию для полного списка.
Q: Как отобразить выделенные результаты в веб‑приложении?
A: Сервируйте сгенерированный HTML‑файл напрямую или внедрите его содержимое в страницу с помощью <iframe> или серверного рендеринга.
Последнее обновление: 2026-07-26
Тестировано с: GroupDocs.Search 25.4
Автор: GroupDocs