Search by Attribute Java with GroupDocs.Search Guide

Möchten Sie Ihr Dokumenten‑Management‑System verbessern, indem Sie Dokumentattribute dynamisch ändern und indexieren – und das mit Java? Dann sind Sie hier genau richtig! Dieses Tutorial geht tief darauf ein, wie Sie die leistungsstarke GroupDocs.Search for Java‑Bibliothek nutzen, um search by attribute java durchzuführen, indexierte Dokumentattribute zu ändern und sie während des Indexierungsprozesses hinzuzufügen. Egal, ob Sie ein durchsuchbares Portal, ein Compliance‑Archiv oder eine intelligente, inhalt‑gesteuerte Anwendung bauen – das Beherrschen dieser Techniken spart Zeit und verbessert die Performance.

Quick Answers

  • Was ist “search by attribute java”? Es ist die Möglichkeit, Suchergebnisse anhand benutzerdefinierter Metadaten zu filtern, die jedem Dokument zugeordnet sind.
  • Kann ich Attribute nach der Indexierung ändern? Ja – verwenden Sie AttributeChangeBatch, um Dokumentattribute stapelweise zu aktualisieren.
  • Wie füge ich Attribute während der Indexierung hinzu? Abonnieren Sie das FileIndexing‑Ereignis und setzen Sie Attribute programmgesteuert.
  • Benötige ich eine Lizenz? Eine kostenlose Testversion reicht für die Evaluierung; für den Produktionseinsatz ist eine permanente Lizenz erforderlich.
  • Welche Java‑Version wird benötigt? Java 8 oder höher wird empfohlen.

What is “search by attribute java”?

Search by attribute java ermöglicht es Ihnen, Dokumente anhand ihrer Metadaten (Attribute) statt nur ihres Inhalts abzufragen. Indem Sie Schlüssel‑Wert‑Paare wie public, main oder key an jede Datei anhängen, können Sie die Ergebnisse schnell auf die relevanteste Teilmenge eingrenzen.

Why Use Dynamic Metadata Tagging?

  • Dynamische Kategorisierung – halten Sie Metadaten synchron zu sich ändernden Geschäftsregeln.
  • Schnelleres Filtern – Attributfilter werden vor der Volltextsuche ausgewertet, was die Antwortzeiten erhöht.
  • Compliance‑Tracking – versehen Sie Dokumente mit Tags für Aufbewahrungsrichtlinien oder Prüfungsanforderungen.
  • Stapelweise Attribute aktualisieren – ändern Sie viele Dokumente in einem Vorgang, ohne alles neu zu indexieren.

Prerequisites

  • Java 8+ (JDK 8 oder neuer)
  • GroupDocs.Search for Java‑Bibliothek (siehe Maven‑Setup unten)
  • Grundlegendes Verständnis von Java und Indexierungskonzepten

Setting Up GroupDocs.Search for Java

Maven Setup

<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

Alternativ laden Sie die neueste Version von GroupDocs.Search for Java releases herunter.
Falls Sie kein Build‑Tool wie Maven verwenden möchten, können Sie das JAR von der GroupDocs‑Website beziehen.

License Acquisition

  • Starten Sie mit einer kostenlosen Testversion, um die Möglichkeiten zu erkunden.
  • Für den erweiterten Einsatz erhalten Sie eine temporäre oder vollständige Lizenz über die Lizenzseite.

Basic Initialization

import com.groupdocs.search.Index;

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

How to Modify Document Attributes (Batch Update)

Search by Attribute Java – Changing Document Attributes

Sie können Attribute bereits indexierter Dokumente hinzufügen, entfernen oder ersetzen und damit batch update document attributes durchführen, ohne die gesamte Sammlung neu zu indexieren.

Step‑by‑Step

Step 1: Add Documents to Index

index.add("YOUR_DOCUMENT_DIRECTORY");

Step 2: Retrieve Indexed Document Information

import com.groupdocs.search.results.DocumentInfo;

DocumentInfo[] documents = index.getIndexedDocuments();

Step 3: Batch Update Document Attributes

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

Step 4: Search with Attribute Filters

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

Batch Update Document Attributes with AttributeChangeBatch

Die Klasse AttributeChangeBatch ist das Kernwerkzeug für batch update document attributes. Durch das Gruppieren von Änderungen in einem einzigen Batch reduzieren Sie den I/O‑Overhead und halten den Index konsistent.

How to Add Attributes During Indexing

Search by Attribute Java – Adding Attributes During Indexing

Binden Sie sich in das FileIndexing‑Ereignis ein, um benutzerdefinierte Attribute zuzuweisen, sobald jede Datei dem Index hinzugefügt wird.

Step‑by‑Step

Step 1: Subscribe to the FileIndexing Event

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" });
        }
    }
});

Step 2: Index Documents

index.add("YOUR_DOCUMENT_DIRECTORY");

Practical Applications

  1. Document Management Systems – Automatisieren Sie die Kategorisierung, indem Sie Metadaten bereits beim Import hinzufügen.
  2. Large Content Archives – Nutzen Sie Attributfilter, um Suchvorgänge zu verengen und die Antwortzeiten drastisch zu senken.
  3. Compliance & Reporting – Taggen Sie Dokumente dynamisch für Aufbewahrungspläne oder Prüfpfade.

Performance Considerations

  • Memory Management – Überwachen Sie den JVM‑Heap und passen Sie -Xmx bei Bedarf an.
  • Batch Processing – Gruppieren Sie Attributänderungen mit AttributeChangeBatch, um Indexschreibvorgänge zu minimieren.
  • Library Updates – Halten Sie GroupDocs.Search auf dem neuesten Stand, um von Performance‑Patches zu profitieren.

Common Issues and Solutions

IssueWhy It HappensHow to Fix
Attributes not appliedEvent‑Handler nicht vor der Indexierung registriertStellen Sie sicher, dass index.getEvents().FileIndexing.add(...) vor index.add(...) ausgeführt wird.
Search returns no resultsAttributname stimmt nicht überein (Groß‑/Kleinschreibung)Verwenden Sie exakt die gleichen Attributnamen beim Erstellen von Filtern (createAttribute("main")).
Out‑of‑memory errors on large batchesZu viele Änderungen in einem einzigen BatchTeilen Sie große Updates in kleinere AttributeChangeBatch‑Instanzen auf.
License not recognizedTest‑JAR wird verwendet, ohne Lizenzdatei zu setzenRufen Sie License license = new License(); license.setLicense("path/to/license.file"); vor irgendeiner Index‑Operation auf.

Frequently Asked Questions

Q: What are the prerequisites for using GroupDocs.Search in Java?
A: Sie benötigen Java 8+, die GroupDocs.Search‑Bibliothek und Grundkenntnisse zu Indexierungskonzepten.

Q: How do I install GroupDocs.Search via Maven?
A: Fügen Sie das Repository und die Abhängigkeit aus dem Abschnitt Maven Setup zu Ihrer pom.xml hinzu.

Q: Can I modify attributes after documents are indexed?
A: Ja, verwenden Sie AttributeChangeBatch, um Dokumentattribute stapelweise zu aktualisieren, ohne neu zu indexieren.

Q: What if my indexing process is slow?
A: Optimieren Sie die JVM‑Speichereinstellungen, nutzen Sie Batch‑Updates und stellen Sie sicher, dass Sie die neueste Bibliotheksversion verwenden.

Q: Where can I find more resources on GroupDocs.Search for Java?
A: Besuchen Sie die offizielle Dokumentation oder erkunden Sie die Community‑Foren.

Resources


Last Updated: 2026-02-24
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs