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—
AttributeChangeBatchkullanarak belge özniteliklerini toplu olarak güncelleyebilirsiniz. - İndeksleme sırasında öznitelik eklemek nasıl yapılır?
FileIndexingolayı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
- Belge Yönetim Sistemleri – Alma sırasında meta veri ekleyerek sınıflandırmayı otomatikleştirin.
- Büyük İçerik Arşivleri – Öznitelik filtrelerini kullanarak aramaları daraltın, yanıt sürelerini büyük ölçüde kısaltın.
- 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
-Xmxayarını yapın. - Toplu İşleme –
AttributeChangeBatchile ö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
| Issue | Why It Happens | How to Fix |
|---|---|---|
| Attributes not applied | Event handler not registered before indexing | Ensure index.getEvents().FileIndexing.add(...) runs before index.add(...). |
| Search returns no results | Attribute name mismatch (case‑sensitive) | Use exact attribute names when creating filters (createAttribute("main")). |
| Out‑of‑memory errors on large batches | Too many changes in a single batch | Split large updates into smaller AttributeChangeBatch instances. |
| License not recognized | Using trial JAR without applying license file | Call 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
- Documentation: GroupDocs.Search for Java Docs
- API Reference: API Reference
- Download: Latest Releases
- GitHub: GitHub GroupDocs.Search
- Free Support Forum: GroupDocs Forums
- Temporary License: License Page
Last Updated: 2026-02-24
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs