Поиск по атрибуту Java с руководством GroupDocs.Search

Ищете способ улучшить систему управления документами, динамически изменяя и индексируя атрибуты документов с помощью Java? Вы попали по адресу! Этот учебник подробно рассматривает использование мощной библиотеки GroupDocs.Search for Java для search by attribute java, изменения индексированных атрибутов документов и их добавления во время процесса индексации. Независимо от того, создаёте ли вы поисковое решение или оптимизируете документооборот, освоение этих техник имеет решающее значение.

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

  • What is “search by attribute java”? Это возможность фильтровать результаты поиска, используя пользовательские метаданные, прикрепленные к каждому документу.
  • Can I modify attributes after indexing? Да — используйте AttributeChangeBatch для пакетного обновления атрибутов документов.
  • How do I add attributes while indexing? Подпишитесь на событие FileIndexing и задавайте атрибуты программно.
  • Do I need a license? Бесплатная пробная версия подходит для оценки; для продакшн‑использования требуется постоянная лицензия.
  • Which Java version is required? Рекомендуется Java 8 или новее.

Что такое “search by attribute java”?

Search by attribute java позволяет выполнять запросы к документам на основе их метаданных (атрибутов), а не только содержимого. Прикрепляя пары ключ‑значение, такие как public, main или key, к каждому файлу, вы можете быстро сузить результаты до наиболее релевантного подмножества.

Зачем изменять или добавлять атрибуты?

  • Dynamic categorization – поддерживайте метаданные в соответствии с бизнес‑правилами.
  • Faster filtering – фильтры по атрибутам оцениваются до полнотекстового поиска, повышая производительность.
  • Compliance tracking – помечайте документы для политик хранения или требований аудита.

Требования

  • Java 8+ (JDK 8 или новее)
  • GroupDocs.Search for Java library (см. настройку Maven ниже)
  • Базовое понимание Java и концепций индексации

Настройка GroupDocs.Search for Java

Настройка Maven

<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.Search for Java releases.
Если вы предпочитаете не использовать инструменты сборки, такие как Maven, скачайте JAR с GroupDocs website.

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

  • Начните с бесплатной пробной версии, чтобы изучить возможности.
  • Для длительного использования получите временную или полную лицензию через license page.

Базовая инициализация

import com.groupdocs.search.Index;

// Initialize an index in a specified directory
Index index = new Index("YOUR_OUTPUT_DIRECTORY/ChangeAttributes");

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

Search by Attribute Java – Изменение атрибутов документа

Обзор

Вы можете добавлять, удалять или заменять атрибуты в уже проиндексированных документах, позволяя batch update document attributes без переиндексации всей коллекции.

Пошагово

Шаг 1: Добавление документов в индекс

index.add("YOUR_DOCUMENT_DIRECTORY");

Шаг 2: Получение информации об индексированном документе

import com.groupdocs.search.results.DocumentInfo;

DocumentInfo[] documents = index.getIndexedDocuments();

Шаг 3: Пакетное обновление атрибутов документа

import com.groupdocs.search.common.AttributeChangeBatch;
import com.groupdocs.search.SearchOptions;

AttributeChangeBatch batch = new AttributeChangeBatch();
batch.addToAll("public"); // Add 'public' to all documents
batch.remove(documents[0].getFilePath(), "public"); // Remove 'public' from a specific document
batch.add(documents[0].getFilePath(), "main", "key"); // Add 'main' and 'key' attributes

// Apply changes
index.changeAttributes(batch);

Шаг 4: Поиск с фильтрами по атрибутам

import com.groupdocs.search.results.SearchResult;

SearchOptions options = new SearchOptions();
options.setSearchDocumentFilter(SearchDocumentFilter.createAttribute("main"));
String query = "length";
SearchResult result = index.search(query, options); // Perform the search

Пакетное обновление атрибутов документа с AttributeChangeBatch

Класс AttributeChangeBatch является основным инструментом для batch update document attributes. Группируя изменения в один пакет, вы уменьшаете нагрузку ввода‑вывода и поддерживаете согласованность индекса.

Search by Attribute Java – Добавление атрибутов во время индексации

Обзор

Подключитесь к событию FileIndexing, чтобы назначать пользовательские атрибуты при добавлении каждого файла в индекс.

Пошагово

Шаг 1: Подписка на событие FileIndexing

import com.groupdocs.search.events.EventHandler;
import com.groupdocs.search.events.FileIndexingEventArgs;

index.getEvents().FileIndexing.add(new EventHandler<FileIndexingEventArgs>() {
    @Override
    public void invoke(Object sender, FileIndexingEventArgs args) {
        if (args.getDocumentFullPath().endsWith("Lorem ipsum.pdf")) {
            args.setAttributes(new String[] { "main", "key" });
        }
    }
});

Шаг 2: Индексация документов

index.add("YOUR_DOCUMENT_DIRECTORY");

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

  1. Document Management Systems – Автоматизируйте категоризацию, добавляя метаданные во время загрузки.
  2. Large Content Archives – Используйте фильтры по атрибутам для сужения поиска, существенно сокращая время отклика.
  3. Compliance & Reporting – Динамически помечайте документы для графиков хранения или аудиторских следов.

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

  • Memory Management – Следите за кучей JVM и при необходимости настраивайте -Xmx.
  • Batch Processing – Группируйте изменения атрибутов с помощью AttributeChangeBatch, чтобы минимизировать записи в индекс.
  • Library Updates – Обновляйте GroupDocs.Search до последней версии, чтобы получать улучшения производительности.

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

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

Q: Как установить GroupDocs.Search через Maven?
A: Добавьте репозиторий и зависимость, указанные в разделе Настройка Maven, в ваш pom.xml.

Q: Можно ли изменять атрибуты после индексации документов?
A: Да, используйте AttributeChangeBatch для пакетного обновления атрибутов документов без переиндексации.

Q: Что делать, если процесс индексации медленный?
A: Оптимизируйте настройки памяти JVM, используйте пакетные обновления и убедитесь, что используете последнюю версию библиотеки.

Q: Где можно найти дополнительные ресурсы по GroupDocs.Search для Java?
A: Посетите official documentation или изучите форумы сообщества.

Ресурсы


Последнее обновление: 2025-12-24
Тестировано с: GroupDocs.Search 25.4 for Java
Автор: GroupDocs