Java’da GroupDocs.Search ile Regex Araması Nasıl Yapılır
Binlerce metin belgesi arasında arama yapmak, samanlıkta iğne aramaya benzetilebilir. Java’da regex araması nasıl yapılır dili güçlü düzenli ifade motorunu GroupDocs.Search ile birleştirdiğinizde zahmetsiz hale gelir; bu kütüphane, ışık hızıyla desen eşleştirme için bir indeks oluşturur. Önümüzdeki birkaç dakikada kütüphaneyi nasıl kuracağınızı, bir indeks oluşturacağınızı, dosyaları ekleyeceğinizi ve hem basit metin‑tabanlı hem de nesne‑yönelimli regex sorgularını nasıl çalıştıracağınızı göreceksiniz. Sonunda, herhangi bir Java uygulamasına sağlam desen‑eşleştirme araması eklemeye hazır olacaksınız.
Hızlı Yanıtlar
- Ana kütüphane nedir? GroupDocs.Search for Java
- Nasıl başlarım? Maven bağımlılığını ekleyin ve bir
Indexnesnesi oluşturun - İçeriği regex ile filtreleyebilir miyim? Evet – içerik‑filtreleme senaryoları için regex sorgularını kullanın
- Lisans gerekir mi? Üretim kullanımı için ücretsiz deneme veya geçici lisans gereklidir
- Hangi JDK sürümü destekleniyor? Java 8 veya üzeri
Regex Araması Nedir?
Regex araması, tarih, e‑posta adresi veya yinelenen karakterler gibi desenleri birçok dosyada tek bir işlemle bulmanızı sağlar. Düz metin sorgusunu, içeriği anlık olarak çıkartabilen veya engelleyebilen güçlü, kural‑tabanlı bir tarayıcıya dönüştürür.
Neden Regex Araması için GroupDocs.Search Kullanmalı?
GroupDocs.Search, belgeleri bir kez indeksler ve ardından her sorgu için bu indeksi yeniden kullanır; bu da ham dosya taramaya kıyasla 10בye kadar daha hızlı aramalar sağlar. Kütüphane 30+ dosya formatını (PDF, DOCX, XLSX, PPTX, TXT, HTML ve daha fazlası) destekler ve tüm dosyayı belleğe yüklemeden çok sayfalı belgeleri işleyebilir.
Önkoşullar
- Java Development Kit (JDK) 8 veya üzeri
- Bağımlılık yönetimi için Maven
- Java düzenli ifadeleri konusunda temel bilgi
Gerekli Kütüphaneler ve Bağımlılıklar
Maven projenize GroupDocs.Search ekleyin:
<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 olarak, en son JAR dosyasını GroupDocs.Search for Java releases adresinden indirebilirsiniz.
Lisans Edinme
Ücretsiz deneme veya geçici lisansı GroupDocs.License üzerinden edinin ve uygulama başlatıldığında yükleyin.
Java için GroupDocs.Search Kurulumu
Kurulum Bilgileri
- Maven Entegrasyonu: Yukarıda gösterilen depo ve bağımlılığı
pom.xmldosyanıza ekleyin. - Doğrudan İndirme: JAR dosyalarını projenizin sınıf yoluna yerleştirin.
- Lisans Uygulaması: Uygulama başlatıldığında lisans dosyasını yükleyin.
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize the index by specifying a directory.
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);
System.out.println("Index created successfully at: " + indexFolder);
}
}
Temel Bileşenler
Index sınıfı, belgelerinizden çıkarılan aranabilir tokenları saklayan temel bileşendir. Orijinal dosyaları yeniden okumadan herhangi bir terim veya deseni hızlıca bulmanızı sağlar.
Dizini Nasıl Oluşturulur
Bir indeks oluşturmak basittir: indeks dosyalarının saklanacağı klasör yolunu belirterek Index sınıfını örnekleyin. Yapıcı, ilk kullanımda gerekli veritabanı dosyalarını oluşturur ve belge ekleme ve arama için motoru hazırlar. Oluşturulduktan sonra aynı indeksi tüm sorgular için yeniden kullanın.
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);
Belgeler Nasıl Eklenir
Bir dosyayı aranabilir hâle getirmek için index.add metodunu, dosya yolunu gösteren bir Document (veya DocumentInfo) örneğiyle çağırın. Kütüphane içeriği ayrıştırır, tokenları çıkarır ve indekse kaydeder. Bu işlem tek dosyalar için ya da toplu olarak yapılabilir; güncellemeler artımlı olarak birleştirilir.
index.add("YOUR_DOCUMENT_DIRECTORY");
system.out.println("Documents added to the index.");
Metin Formunda Düzenli İfade Araması Nasıl Yapılır
RegexQuery düzenli ifade tabanlı bir arama sorgusunu tanımlar. Düz metin deseniyle bir RegexQuery oluşturun ve Index sınıfının search metoduna gönderin. Motor, deseni indekslenmiş tokenlara karşı değerlendirir ve eşleşen belge referanslarını döndürür; tek seferlik aramaları hızlı ve basit hâle getirir.
String query1 = "^((.)\\2{1,})";
Nesne Formunda Düzenli İfade Araması Nasıl Yapılır
RegexQuery aynı zamanda bir nesne olarak da oluşturulabilir ve birden çok aramada yeniden kullanılabilir. Sorguyu bir kez tanımlayın, büyük/küçük harf duyarsızlığı veya bulanık eşleşme gibi seçenekleri yapılandırın ve index.search metodunu tekrar tekrar çağırın. Bu yaklaşım, aynı deseni birçok farklı belge kümesine uyguladığınızda performansı artırır.
SearchResult result1 = index.search(query1);
system.out.println("Number of occurrences found: " + result1.getDocumentCount());
İçerik Filtreleme Regex Kullanım Senaryoları
Aşağıdaki gibi belirli desenlere uyan içeriği otomatik olarak engellemek veya işaretlemek için regex kullanabilirsiniz:
- Spam filtreleme için tekrarlanan karakterlerin tespiti
- Veri gizliliği kontrolleri için kredi kartı benzeri dizileri bulma
- İleri işleme için tarih veya kimlik numaralarını çıkartma
Pratik Uygulamalar
- Belge Yönetim Sistemleri: Sözleşmeleri, faturaları veya politikaları desenle (ör. fatura numaraları) bulun.
- İçerik Moderasyonu: Forumlarda veya sohbet uygulamalarında kullanıcı tarafından oluşturulan metni düzenlemek için regex kuralları uygulayın.
- Veri Çıkarma: Yapılandırılmamış PDF’lerden veya Word dosyalarından sipariş numaraları gibi yapılandırılmış verileri çekin.
Performans Düşünceleri
- Dizin Güncellemeleri: Sonuçların güncel kalması için kaynak dosyalar değiştiğinde
index.addçağırın. - Bellek Yönetimi: 1 milyonun üzerindeki belge kümesi için yığın kullanımını kontrol altında tutmak amacıyla artımlı indekslemeyi etkinleştirin.
- Regex Tasarımı: Desenleri kısa tutun;
\d{4}-\d{2}-\d{2}gibi bir desen,.*gibi joker karakter ağırlıklı bir ifadeye göre 3× daha hızlı çalışır.
Sonuç
Artık GroupDocs.Search kullanarak Java’da regex araması nasıl yapılır konusunda, kütüphaneyi kurmaktan bir indeks oluşturmaya, hem metin‑tabanlı hem de nesne‑yönelimli sorgular çalıştırmaya kadar her şeyi biliyorsunuz. Bu teknikler, belge portalı, uyumluluk tarayıcısı veya veri madenciliği hattı gibi herhangi bir Java uygulamasına hızlı, desen‑bilinçli arama eklemenizi sağlar.
Sıkça Sorulan Sorular
S: GroupDocs.Search içinde metin‑tabanlı ve nesne‑tabanlı regex sorguları arasındaki fark nedir?
C: Metin‑tabanlı sorgular hızlı tek‑satır komutlardır, nesne‑tabanlı sorgular ise yeniden kullanılabilir, tip‑güvenli tanımlar sağlar ve birden çok arama arasında saklanıp tekrar kullanılabilir.
S: GroupDocs.Search, PDF veya Excel dosyaları gibi metin dışı belgeleri indeksleyebilir mi?
C: Evet, kütüphane PDF, DOCX, XLSX, PPTX ve 30’dan fazla diğer formatta aranabilir metin çıkarır.
S: Yeni dosyalar ekledikten sonra mevcut arama indeksini nasıl güncellerim?
C: Yeni veya değiştirilmiş belgelerle index.add çağırın; kütüphane tüm indeksi yeniden oluşturmak zorunda kalmadan değişiklikleri birleştirir.
S: GroupDocs.Search ile regex kullanırken yaygın tuzaklar nelerdir?
C: Çok geniş desenler (ör. .*) performans düşüşüne yol açabilir ve hatalı ifadeler sonuç döndürmez. Desenleri önce örnek bir veri kümesi üzerinde test edin.
S: Daha gelişmiş GroupDocs.Search eğitimlerine nereden ulaşabilirim?
C: Derinlemesine kılavuzlar, API referansları ve örnek projeler için GroupDocs Documentation adresini ziyaret edin.
Son Güncelleme: 2026-07-31
Test Edilen Sürüm: GroupDocs.Search 25.4
Yazar: GroupDocs
SearchQuery query2 = SearchQuery.createRegexQuery("^(.)\\1{1,}");
SearchResult result2 = index.search(query2);
system.out.println("Occurrences found using object form: " + result2.getDocumentCount());