Java’da wildcard arama nasıl uygulanır GroupDocs.Search ile
Hızlı cevaplar
- Wildcard arama java nedir? Bir terimde bir veya birden çok karakteri eşleştirmek için
?veya*yer tutucularını kullanan bir sorgudur. - Hangi kütüphane bunu sağlar? Java için GroupDocs.Search.
- Lisans gerekli mi? Geliştirme için ücretsiz deneme çalışır; ticari kullanım için bir üretim lisansı gereklidir.
- Bunu tarih aralığı sorgularıyla birleştirebilir miyim? Evet—wildcard, tarih aralığı, faceted ve boolean ifadelerini tek bir sorguda karıştırabilirsiniz.
- Büyük veri setleri için hızlı mı? Doğru indekslendiğinde, aramalar 2 milyon belge veri setinde 500 ms altında çalışır.
Java’da wildcard arama nedir?
Wildcard arama java, bir terimin bir modele uyması durumunda belgeleri bulmanızı sağlar, örneğin ?ffect (affect veya effect eşleşir) veya prod* (product, production vb. eşleşir). Yanlış yazımlar, kısmi girişler veya tam kelime bilinmediğinde idealdir. Kullanıcılar eksik terimler yazdığında veya tam yazım belirsiz olduğunda bu özellik özellikle faydalıdır, arama alaka düzeyini ve kullanıcı memnuniyetini artırır.
Java için GroupDocs.Search neden kullanılmalı?
GroupDocs.Search 10+ farklı sorgu türünü destekler—basit, wildcard, faceted, sayısal, tarih aralığı, regex, boolean ve cümle gibi—bu sayede birden fazla kütüphane kullanmadan gelişmiş arama deneyimleri oluşturabilirsiniz. Motor, indeks optimum şekilde yapılandırıldığında 2 milyon belgeyi alt saniyelik gecikme ile işler ve olay‑tabanlı hata yönetimi indeksleme hattınızı dayanıklı tutar.
Önkoşullar
- GroupDocs.Search Java kütüphanesi (v25.4 veya daha yeni).
- Java Development Kit (JDK) projenizle uyumlu.
- Bağımlılık yönetimi için Maven (veya manuel indirme).
Gerekli kütüphaneler ve ortam kurulumu
Add the GroupDocs repository and 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>
Alternatif kurulum
For direct downloads, visit Java için GroupDocs.Search sürümleri.
Lisanslama ve başlangıç kurulumu
Start with a free trial or a temporary license:
- Visit GroupDocs Lisans Seçenekleri for details.
Şimdi aranabilir verilerinizi tutacak indeks klasörünü oluşturalım.
Java için GroupDocs.Search kurulumu
Temel başlatma
Index is the core object in GroupDocs.Search that represents a searchable index stored on disk. First, instantiate an Index object that points to a folder on disk:
import com.groupdocs.search.*;
// Initialize Index
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\BasicUsage\\BuildSearchQuery";
Index index = new Index(indexFolder);
Artık tüm arama işlemlerine bir geçiş noktanız var.
Uygulama rehberi
Özellik 1: indekslemede hata yönetimi
İndeksleme hatalarını nasıl yakalarsınız (Java)
ErrorOccurred is an event that fires each time the indexing engine cannot process a file, allowing you to log or retry the operation without aborting the whole batch.
import com.groupdocs.search.events.*;
index.getEvents().ErrorOccurred.add(new EventHandler<IndexErrorEventArgs>() {
@Override
public void invoke(Object sender, IndexErrorEventArgs args) {
System.out.println(args.getMessage()); // Output the error message
}
});
// Add documents to the index
index.add("YOUR_DOCUMENT_DIRECTORY");
Why it matters: By listening to ErrorOccurred, you can log problems, retry failed files, or alert users without crashing the whole process.
Özellik 2: basit arama sorgusu
Basit arama nedir?
SimpleSearch executes a straightforward term lookup across all indexed fields.
import com.groupdocs.search.*;
String query = "volutpat";
SearchResult result = index.search(query);
Result: Returns every document containing the term volutpat. → Sonuç: volutpat terimini içeren tüm belgeleri döndürür.
Özellik 3: wildcard arama sorgusu
Java’da wildcard arama nasıl çalışır?
WildcardSearch interprets ? as a single‑character placeholder and * as a multi‑character placeholder within the search term.
String query = "?ffect";
SearchResult result = index.search(query);
Result: Matches both affect and effect, showing the power of the ? placeholder. → Sonuç: affect ve effect ikisini de eşleştirir, ? yer tutucusunun gücünü gösterir.
Özellik 4: faceted arama sorgusu
Java’da faceted arama nasıl yapılır
FacetedSearch limits results to a specific field—commonly metadata such as category, author, or custom tags.
String query = "Content: magna";
SearchResult result = index.search(query);
Result: Limits the search to the Content field, ideal for filtering by metadata such as category or author. → Sonuç: Aramayı Content alanıyla sınırlar, kategori veya yazar gibi meta verilerle filtreleme için idealdir.
Özellik 5: sayısal aralık arama sorgusu
Sayısal aralıklar nasıl aranır
NumericRangeSearch retrieves documents where a numeric field falls within a defined interval.
String query = "2000 ~~ 3000";
SearchResult result = index.search(query);
Result: Retrieves documents where numeric values fall between 2000 and 3000. → Sonuç: Sayısal değerleri 2000 ile 3000 arasında olan belgeleri getirir.
Özellik 6: tarih aralığı arama sorgusu
Tarih aralığı aramasını nasıl yürütürsünüz (özel tarih formatı java)
SearchOptions lets you specify a custom DateFormat (e.g., MM/DD/YYYY) so the engine can correctly parse dates embedded in your content.
import com.groupdocs.search.options.*;
import java.util.*;
String query = "daterange(2000-01-01 ~~ 2001-06-15)";
SearchOptions options = new SearchOptions();
options.getDateFormats().clear();
DateFormatElement[] elements = {
DateFormatElement.getMonthTwoDigits(),
DateFormatElement.getDateSeparator(),
DateFormatElement.getDayOfMonthTwoDigits(),
DateFormatElement.getDateSeparator(),
DateFormatElement.getYearFourDigits()
};
DateFormat dateFormat = new DateFormat(elements, "/");
options.getDateFormats().addItem(dateFormat);
SearchResult result = index.search(query, options);
Explanation: By customizing SearchOptions, you tell the engine to recognize dates in MM/DD/YYYY format, then retrieve all records between January 1 2000 and June 15 2001. → Açıklama: SearchOptions özelleştirerek, motorun MM/DD/YYYY formatındaki tarihleri tanımasını sağlarsınız, ardından 1 Ocak 2000 ile 15 Haziran 2001 arasındaki tüm kayıtları getirir.
Özellik 7: düzenli ifade arama sorgusu
Java’da regex araması nasıl çalıştırılır
RegexSearch accepts standard Java regular‑expression patterns, enabling complex pattern matching beyond simple wildcards.
String query = "^(.)\\1{2,}";
SearchResult result = index.search(query);
Result: Finds sequences of three or more identical characters (e.g., “aaa”, “111”). → Sonuç: Üç veya daha fazla aynı karakterden oluşan dizileri bulur (ör. “aaa”, “111”).
Özellik 8: boolean arama sorgusu
Java’da boolean arama ile koşulları nasıl birleştirirsiniz
BooleanSearch lets you compose AND, OR, and NOT clauses to fine‑tune result sets.
String query = "justo AND NOT 3456";
SearchResult result = index.search(query);
Result: Returns documents containing justo but excludes any that also contain 3456. → Sonuç: justo içeren belgeleri döndürür ancak aynı zamanda 3456 içerenleri hariç tutar.
Özellik 9: karmaşık boolean arama sorgusu
Gelişmiş boolean sorguları nasıl oluşturulur
ComplexBooleanSearch supports nested groups, proximity operators, and fuzzy matching for sophisticated retrieval scenarios.
String query = "FileName: Engl?(1~3) OR Content: (3456 AND consequat)";
SearchResult result = index.search(query);
Result: Looks for file names similar to “English” (allowing 1‑3 character variations) or content that contains both 3456 and consequat. → Sonuç: “English” benzeri dosya adlarını (1‑3 karakter varyasyonu izin vererek) veya hem 3456 hem de consequat içeren içeriği arar.
Özellik 10: cümle arama sorgusu
Tam ifadeleri nasıl ararsınız
PhraseSearch matches an exact sequence of terms, preserving order and spacing.
String query = "\"ipsum dolor sit amet\"";
SearchResult result = index.search(query);
Result: Retrieves only documents that contain the exact phrase ipsum dolor sit amet. → Sonuç: ipsum dolor sit amet tam ifadesini içeren yalnızca belgeleri getirir.
Pratik uygulamalar
- E‑ticaret platformları – Ürünleri beden, renk ve marka göre filtrelemek için faceted search java kullanın.
- İçerik yönetim sistemleri – Gelişmiş editöryal araçlar için boolean search java ile cümle aramayı birleştirin.
- Veri analizi araçları – Zaman‑bazlı raporlar ve panolar oluşturmak için date range search ve custom date format java kullanın.
Yaygın sorunlar ve çözümler
- Tarih aralığı aramasında sonuç yok – Belgelerinizdeki tarih formatının eklediğiniz özel
DateFormatile eşleştiğini doğrulayın. - Regex sorguları çok fazla sonuç döndürüyor – Deseni iyileştirin veya ek alan niteleyicileriyle arama kapsamını sınırlayın.
- İndeksleme hataları yakalanmıyor – Olay işleyicisinin
index.add(...)çağrılmadan önce ekli olduğundan emin olun. - Wildcard arama yavaş görünüyor – Çok büyük indekslerde ön ek wildcard (
*term) kullanmaktan kaçının; son ek veya orta ek desenlerini tercih edin.
Sıkça sorulan sorular
Q: Tarih aralığı aramasını diğer sorgu türleriyle karıştırabilir miyim?
A: Kesinlikle. Tek bir sorgu dizesinde tarih aralığı koşulunu wildcard, boolean, faceted veya regex desenleriyle birleştirebilirsiniz.
Q: Tarih formatlarını değiştirdikten sonra indeksi yeniden oluşturmalı mıyım?
A: Evet. İndeks, tokenleştirilmiş terimleri saklar; yalnızca SearchOptions güncellemek mevcut verileri yeniden tokenleştirmez. Formatları değiştirdikten sonra belgeleri yeniden indeksleyin.
Q: GroupDocs.Search büyük indeksleri nasıl yönetir?
A: Artımlı indeksleme ve disk üzerindeki depolamayı kullanır, böylece bellek kullanımını düşük tutarak milyonlarca belgeye ölçeklenmenizi sağlar.
Q: Wildcard karakter sayısına bir sınırlama var mı?
A: Wildcard’lar verimli işlenir, ancak çok sayıda ön ek wildcard (*term) kullanmak performansı düşürebilir. Ön ek veya son ek wildcard’ları tercih edin.
Q: Üretim için önerilen lisans modeli nedir?
A: GroupDocs’tan kalıcı ya da abonelik lisansı, güncellemeler, destek ve deneme sınırlamaları olmadan dağıtım yapabilme imkanı sağlar.
Sonuç
implement wildcard search java ve Java için GroupDocs.Search tarafından sunulan gelişmiş sorgu türlerinin tam paketini ustalıkla kullanarak son derece duyarlı, özellik‑zengin arama deneyimleri oluşturabilirsiniz. Sağlam hata yönetimi uygulayın, indeksinizi ince ayarlayın ve neredeyse her geri getirme senaryosuna uyacak şekilde sorguları birleştirin. Bugün denemeye başlayın ve uygulamanızın veri‑erişim yeteneklerini yükseltin.
Last Updated: 2026-08-26
Tested With: GroupDocs.Search 25.4 (Java)
Author: GroupDocs