Wildcard’lı İfade Arama GroupDocs.Search for Java’da
Bugünün hızlı tempolu belge yönetimi dünyasında, ifade arama verimli bir şekilde yapılması bir uygulamanın kullanılabilirliğini belirleyebilir. İçerik yönetim sistemi, e‑ticaret kataloğu ya da yasal belge deposu oluşturuyor olun, tam ifadeleri—veya esnek varyasyonlarını—bulabilmek önemlidir. Bu öğreticide GroupDocs.Search for Java‘yı kurmayı, bir arama indeksi oluşturmayı, belgelere indekse eklemeyi ve hem basit ifade aramalarını hem de güçlü wildcard arama Java tekniklerini nasıl ustalaştıracağınızı adım adım göstereceğiz.
Hızlı Yanıtlar
- İfade aramalarının temel faydası nedir? Kelime sırası ve yakınlığın kesin eşleşmesi.
- Bir ifade içinde wildcard kullanılabilir mi? Evet, esnek eşleşme için wildcard’ları kesin kelimelerle birleştirebilirsiniz.
- Geliştirme için lisansa ihtiyacım var mı? Ücretsiz deneme test için yeterlidir; üretim için tam lisans gereklidir.
- Hangi Maven sürümünü kullanmalıyım? En son GroupDocs.Search for Java sürümü (örneğin, yazı yazıldığı sırada 25.4).
- Bu yaklaşım büyük belge setleri için uygun mu? Kesinlikle—indeksi optimize tutun ve hedefli wildcard desenleri kullanın.
“İfade Arama” Nedir?
Bir ifadeyi aramak, bir belgede belirli bir kelime dizisini bulmak anlamına gelir. Wildcard eklediğinizde, arama motorunun kelimeleri atlamasına veya değiştirmesine izin verirsiniz; bu da alaka düzeyini kaybetmeden varyasyonları eşleştirme esnekliği sağlar.
Neden GroupDocs.Search’i İfade ve Wildcard Sorguları İçin Kullanmalısınız?
- Yüksek performans büyük koleksiyonlarda optimize edilmiş ters indeks sayesinde.
- Zengin sorgu dili kesin ifade, basit wildcard ve gelişmiş desenleri destekler.
- Kolay entegrasyon Maven veya doğrudan indirme yoluyla herhangi bir Java tabanlı uygulamayla.
Önkoşullar
- Java 8 veya daha yeni bir sürüm yüklü.
- Maven 3 veya üzeri (Maven bağımlılık yönetimini tercih ediyorsanız).
- Java sözdizimi ve proje yapısına temel aşinalık.
GroupDocs.Search for Java Kurulumu
Maven Kullanarak
Add the repository and dependency to your pom.xml file:
<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 JAR dosyasını GroupDocs.Search for Java releases adresinden indirebilirsiniz.
Lisans Edinimi
- Ücretsiz Deneme: Hızlı deneyler için idealdir.
- Geçici Lisans: Uzun vadeli test için GroupDocs portalı üzerinden talep edin.
- Tam Satın Alma: Üretim ortamları için önerilir.
Temel Başlatma ve Kurulum
Create a folder for the index and initialize it:
String indexFolder = "YOUR_OUTPUT_DIRECTORY/PhraseSearch";
Index index = new Index(indexFolder);
Add the documents you want to make searchable:
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
GroupDocs.Search’te Wildcard’lı İfade Nasıl Aranır
Aşağıda üç aşamalı senaryoyu ele alacağız: kesin ifade arama, basit wildcard kullanımı ve gelişmiş wildcard desenleri.
Basit İfade Arama
Genel Bakış
Kelime dizisinin tam eşleşmesine ihtiyaç duyduğunuzda bunu kullanın.
Adım 1: Bir İndeks Oluşturun
Index index = new Index(indexFolder);
Adım 2: Belgeleri İndekse Ekleyin
index.add(documentsFolder);
Adım 3: Belirli Bir İfadeyi (Metin Formu) Ara
String queryText = "\"sollicitudin at ligula\"";
SearchResult resultText = index.search(queryText);
Adım 4: Nesne‑Tabanlı Sorgular (Kesin İfade Ara)
SearchQuery word1 = SearchQuery.createWordQuery("sollicitudin");
SearchQuery word2 = SearchQuery.createWordQuery("at");
SearchQuery word3 = SearchQuery.createWordQuery("ligula");
SearchQuery queryObject = SearchQuery.createPhraseSearchQuery(word1, word2, word3);
SearchResult resultObject = index.search(queryObject);
Wildcard’lı İfade Arama
Genel Bakış
Wildcard yer tutucuları, kesin terimler arasında değişken sayıda kelime atlamanıza izin verir.
Adım 1: Bir İndeks Oluşturun
(Same as the Simple Phrase Search steps.)
Adım 2: Belgeleri İndekse Ekleyin
(Same as above.)
Adım 3: Wildcard’lı Metin Formu Arama
String queryText = "\"sollicitudin *0~~3 ligula\"";
SearchResult resultText = index.search(queryText);
Adım 4: Wildcard’lı Nesne‑Tabanlı Sorgular (Wildcard Search Java)
SearchQuery word1 = SearchQuery.createWordQuery("sollicitudin");
SearchQuery wildcard2 = SearchQuery.createWildcardQuery(0, 3);
SearchQuery word3 = SearchQuery.createWordQuery("ligula");
SearchQuery queryObject = SearchQuery.createPhraseSearchQuery(word1, wildcard2, word3);
SearchResult resultObject = index.search(queryObject);
Gelişmiş Wildcard Arama
Genel Bakış
Sayısal aralıkları, isteğe bağlı karakterleri ve özel desenleri birleştirerek karmaşık eşleşmeler elde edin.
Adım 1: Bir İndeks Oluşturun
(Repeated for clarity.)
Adım 2: Belgeleri İndekse Ekleyin
(Repeated.)
Adım 3: Karmaşık Wildcard Desenleriyle Metin Formu Arama
String queryText = "\"sollicitudin *0~~3 ?(0~4)la\"";
SearchResult resultText = index.search(queryText);
Adım 4: Gelişmiş Wildcard’lı Nesne‑Tabanlı Sorgular
double word1 = SearchQuery.createWordQuery("sollicitudin");
SearchQuery wildcard2 = SearchQuery.createWildcardQuery(0, 3);
WordPattern pattern = new WordPattern();
pattern.appendWildcard(0, 4);
pattern.appendString("la");
SearchQuery wordPattern3 = SearchQuery.createWordPatternQuery(pattern);
SearchQuery queryObject = SearchQuery.createPhraseSearchQuery(word1, wildcard2, wordPattern3);
SearchResult resultObject = index.search(queryObject);
Pratik Uygulamalar
- İçerik Yönetim Sistemleri: Editörlerin kesin maddeleri veya esnek alıntıları bulmasını sağlar.
- E‑ticaret Katalogları: Alışveriş yapanların bir kelimeyi kaçırsa ya da eş anlamlı kullanırsa bile ürünleri bulmasını sağlar.
- Hukuk & Uyumluluk: Küçük varyasyonlarla ortaya çıkabilecek sözleşme dilini hızlıca izole eder.
Performans Düşünceleri
- Arama İndeksi Oluşturma belge seti başına sadece bir kez yapılır, ardından yeniden kullanılır.
- Belgeleri İndekse Ekleme yeni dosyalar geldiğinde artımlı olarak yapılır—her seferinde tüm indeksi yeniden oluşturmayın.
- Gereksiz taramayı önlemek için kesin wildcard desenleri kullanın; daha geniş desenler CPU yükünü artırır.
- Bellek kullanımını düşük tutmak için periyodik olarak
index.optimize()(varsa) çağırın.
Yaygın Sorunlar ve Çözümler
| Sorun | Çözüm |
|---|---|
| Wildcard sorgusu için sonuç dönmedi | Wildcard sözdizimini (*min~~max) doğrulayın ve kelimelerin belirtilen mesafe içinde mevcut olduğundan emin olun. |
| Dosya güncellemelerinden sonra indeks eski kalıyor | index.add(updatedFolder) komutunu yeniden çalıştırın veya artımlı güncelleme API’sini kullanın. |
| Büyük veri setlerinde yüksek bellek tüketimi | JVM heap boyutunu artırın ve indeksi birden fazla parçaya bölmeyi düşünün. |
Sıkça Sorulan Sorular
S: Wildcard ile ifade araması arasındaki fark nedir?
C: İfade araması kesin kelime sırasını ararken, wildcard bu sıradaki kelimeleri değiştirme veya atlama imkanı verir.
S: Aramalarda sayısal verilerle wildcard kullanabilir miyim?
C: Evet, wildcard aralık parametreleri sayılarla da, kelimelerle de çalışır.
S: Çok büyük belge koleksiyonlarıyla nasıl başa çıkmalıyım?
C: İndeksi optimize tutun, artımlı güncellemeler kullanın ve wildcard desenlerinizi mümkün olduğunca spesifik tasarlayın.
S: GroupDocs.Search gerçek zamanlı arama senaryoları için uygun mu?
C: Kesinlikle—indeks oluşturulduktan sonra sorgular milisaniyeler içinde çalışır, bu da etkileşimli uygulamalara uygundur.
S: Bu kütüphaneyi mevcut bir Java projesine entegre edebilir miyim?
C: Evet. Maven bağımlılığını veya JAR’ı ekleyin, gösterildiği gibi indeksi başlatın ve hazırsınız.
Son Güncelleme: 2026-01-26
Test Edilen Versiyon: GroupDocs.Search 25.4 for Java
Yazar: GroupDocs