Search by Attribute Java with GroupDocs.Search Guide

Belge yönetim sisteminizi Java kullanarak belge özniteliklerini dinamik olarak değiştirme ve indeksleme yoluyla geliştirmek mi istiyorsunuz? Doğru yerdesiniz! Bu öğretici, güçlü GroupDocs.Search for Java kütüphanesini kullanarak search by attribute java, indekslenmiş belge özniteliklerini değiştirme ve indeksleme sırasında ekleme konularına derinlemesine dalıyor. İster aranabilir bir portal, ister uyumluluk arşivi ya da akıllı içerik‑odaklı bir uygulama oluşturuyor olun, bu teknikleri öğrenmek zaman kazandıracak ve performansı artıracaktır.

Quick Answers

  • “search by attribute java” nedir? Her belgeye eklenen özel meta verileri kullanarak arama sonuçlarını filtreleme yeteneğidir.
  • İndeksleme sonrası öznitelikleri değiştirebilir miyim? Evet—AttributeChangeBatch kullanarak belge özniteliklerini toplu olarak güncelleyebilirsiniz.
  • İndeksleme sırasında öznitelik eklemek nasıl yapılır? FileIndexing olayına abone olup öznitelikleri programatik olarak ayarlayın.
  • Lisans gerekli mi? Değerlendirme için ücretsiz deneme çalışır; üretim için kalıcı bir lisans gerekir.
  • Hangi Java sürümü gerekiyor? Java 8 veya üzeri önerilir.

“search by attribute java” nedir?

Search by attribute java, belgeleri yalnızca içeriklerine göre değil, meta verilerine (özniteliklerine) göre sorgulamanızı sağlar. Her dosyaya public, main veya key gibi anahtar‑değer çiftleri ekleyerek sonuçları en ilgili alt kümeye hızlıca daraltabilirsiniz.

Dinamik Meta Veri Etiketleme Neden Kullanılmalı?

  • Dinamik sınıflandırma – meta verileri, değişen iş kurallarıyla senkronize tutun.
  • Daha hızlı filtreleme – öznitelik filtreleri tam metin aramasından önce değerlendirilir, yanıt süreleri artar.
  • Uyumluluk takibi – belgeleri saklama politikaları veya denetim gereksinimleri için etiketleyin.
  • Toplu güncelleme öznitelikleri – tüm koleksiyonu yeniden indekslemeden bir işlemde birçok belgeyi değiştirin.

Önkoşullar

  • Java 8+ (JDK 8 veya daha yeni)
  • GroupDocs.Search for Java kütüphanesi (aşağıdaki Maven kurulumu bölümü)
  • Java ve indeksleme kavramlarına temel aşinalık

GroupDocs.Search for Java Kurulumu

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>

Doğrudan İndirme

Alternatif olarak, en son sürümü GroupDocs.Search for Java releases adresinden indirebilirsiniz.
Maven gibi bir yapı aracı kullanmak istemiyorsanız, JAR dosyasını GroupDocs web sitesinden indirin.

Lisans Edinme

  • Özellikleri keşfetmek için ücretsiz deneme ile başlayın.
  • Uzun vadeli kullanım için geçici veya tam lisansı lisans sayfasından temin edin.

Temel Başlatma

import com.groupdocs.search.Index;

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

Belge Özniteliklerini Değiştirme (Toplu Güncelleme)

Search by Attribute Java – Belge Özniteliklerini Değiştirme

Zaten indekslenmiş belgelere öznitelik ekleyebilir, kaldırabilir veya değiştirebilir, batch update document attributes yaparak tüm koleksiyonu yeniden indekslemeye gerek kalmaz.

Adım‑adım

Adım 1: Belgeleri İndekse Ekle

index.add("YOUR_DOCUMENT_DIRECTORY");

Adım 2: İndekslenmiş Belge Bilgilerini Al

import com.groupdocs.search.results.DocumentInfo;

DocumentInfo[] documents = index.getIndexedDocuments();

Adım 3: Belge Özniteliklerini Toplu Güncelle

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

Adım 4: Öznitelik Filtreleriyle Ara

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 ile Toplu Güncelleme

AttributeChangeBatch sınıfı, batch update document attributes için temel araçtır. Değişiklikleri tek bir toplu işlemde birleştirerek I/O yükünü azaltır ve indeksin tutarlılığını korur.

İndeksleme Sırasında Öznitelik Ekleme

Search by Attribute Java – İndeksleme Sırasında Öznitelik Ekleme

Her dosya indekse eklendiğinde özel öznitelikler atamak için FileIndexing olayına bağlanın.

Adım‑adım

Adım 1: FileIndexing Olayına Abone Ol

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

Adım 2: Belgeleri İndeksle

index.add("YOUR_DOCUMENT_DIRECTORY");

Pratik Uygulamalar

  1. Belge Yönetim Sistemleri – Alma sırasında meta veri ekleyerek sınıflandırmayı otomatikleştirin.
  2. Büyük İçerik Arşivleri – Öznitelik filtrelerini kullanarak aramaları daraltın, yanıt sürelerini büyük ölçüde kısaltın.
  3. Uyumluluk & Raporlama – Saklama takvimleri veya denetim izleri için belgeleri dinamik olarak etiketleyin.

Performans Düşünceleri

  • Bellek Yönetimi – JVM yığınını izleyin ve gerektiğinde -Xmx ayarını yapın.
  • Toplu İşlemeAttributeChangeBatch ile öznitelik değişikliklerini gruplayarak indeks yazmalarını en aza indirin.
  • Kütüphane Güncellemeleri – Performans iyileştirmelerinden yararlanmak için GroupDocs.Search’i güncel tutun.

Yaygın Sorunlar ve Çözümler

IssueWhy It HappensHow to Fix
Attributes not appliedEvent handler not registered before indexingEnsure index.getEvents().FileIndexing.add(...) runs before index.add(...).
Search returns no resultsAttribute name mismatch (case‑sensitive)Use exact attribute names when creating filters (createAttribute("main")).
Out‑of‑memory errors on large batchesToo many changes in a single batchSplit large updates into smaller AttributeChangeBatch instances.
License not recognizedUsing trial JAR without applying license fileCall License license = new License(); license.setLicense("path/to/license.file"); before any index operation.

Sık Sorulan Sorular

S: GroupDocs.Search’i Java’da kullanmak için önkoşullar nelerdir?
C: Java 8+, GroupDocs.Search kütüphanesi ve indeksleme kavramlarına temel bilgi gerekir.

S: GroupDocs.Search’i Maven ile nasıl kurarım?
C: Maven Setup bölümünde gösterildiği gibi pom.xml dosyanıza depo ve bağımlılığı ekleyin.

S: Belgeler indekslendikten sonra öznitelikleri değiştirebilir miyim?
C: Evet, AttributeChangeBatch kullanarak belge özniteliklerini toplu olarak güncelleyebilir, yeniden indekslemeye gerek kalmaz.

S: İndeksleme sürecim yavaşsa ne yapmalıyım?
C: JVM bellek ayarlarını optimize edin, toplu güncellemeler kullanın ve en son kütüphane sürümünde olduğunuzdan emin olun.

S: GroupDocs.Search for Java hakkında daha fazla kaynak nerede bulunur?
C: official documentation adresini ziyaret edin veya topluluk forumlarını inceleyin.

Kaynaklar


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