GroupDocs.Search for Java ile belgeleri nasıl indeksleyebilirsiniz
Günümüzün veri odaklı dünyasında, belgeleri nasıl indeksleyebilirsiniz verimli bir şekilde büyük dosya koleksiyonlarıyla çalışan her Java geliştiricisi için kritik bir beceridir. İster yasal sözleşmeler, finansal raporlar ya da iç raporlar üzerinde çalışıyor olun, iyi tasarlanmış bir arama indeksi, saatler süren manuel tarama yerine saniyeler içinde tam olarak ihtiyacınız olan bilgiyi bulmanızı sağlar. Bu eğitim, GroupDocs.Search for Java ile bir arama indeksi oluşturmayı, belgeleri eklemeyi ve hem metin‑tabanlı hem de nesne‑tabanlı sorgular çalıştırmayı adım adım gösterir.
Hızlı cevaplar
- Belgeleri indekslemek için ilk adım nedir?
Indexörneği oluşturun ve bu örnek indeks dosyalarının saklanacağı bir klasöre işaret etsin. - Hangi yöntem bir indekse belgeleri ekler?
index.add("PATH_TO_DOCUMENTS")metodunu çağırarak bir dizini tarayın ve desteklenen dosyaları içe aktarın. - Sayısal aralıkları arayabilir miyim? Evet –
"400 ~~ 4000"gibi bir metin sorgusu kullanın veyaSearchQuery.createNumericRangeQueryaracılığıyla bir nesne sorgusu yapın.createNumericRangeQueryyöntemi bir sayısal aralık sorgu nesnesi oluşturur. - Bir lisansa ihtiyacım var mı? Değerlendirme için ücretsiz deneme sürümü yeterlidir; ticari bir lisans tam özellik setini açar ve kullanım sınırlamalarını kaldırır.
- Hangi Java sürümü gereklidir? JDK 8 veya üzeri desteklenir.
GroupDocs.Search ile belgeleri nasıl indeksleyebileceğimiz nedir?
Belgeleri indekslemek, her dosya için aranabilir bir token deposu oluşturur ve motorun her seferinde orijinal dosyaları okumadan eşleşmeleri almasını sağlar. Bu ön işleme adımı, ham içeriği milisaniyeler içinde sorgulanabilen optimize bir indekse dönüştürür. İndeks, terimleri, konumları ve meta verileri saklar ve tüm desteklenen belge türlerinde hızlı ifade ve yakınlık aramaları yapmayı mümkün kılar.
GroupDocs.Search for Java neden kullanılmalı?
Arama işlemleri genellikle standart 2‑CPU, 8 GB VM üzerinde çalışan 10 000 dosyadan (ortalama 1 KB) oluşan bir koleksiyonda 50 ms’den az sürede tamamlanır. Kütüphane 30+ giriş ve çıkış formatını—PDF, DOCX, XLSX, PPTX, TXT ve HTML dahil—destekler, böylece ek dönüştürücülere ihtiyaç duymadan neredeyse her iş belgesini indeksleyebilirsiniz. Esnek API’si, düz metin sorgularını, sayısal aralıkları ve karmaşık nesne sorgularını birleştirmenize olanak tanırken, artımlı güncellemeler tüm indeksi yeniden oluşturmak zorunda kalmadan yeni dosyalar eklemenizi sağlar.
Önkoşullar
- Maven, bağımlılık yönetimi için kurulu olmalı.
- IntelliJ IDEA veya Eclipse gibi bir IDE.
- Temel Java bilgisi (OOP kavramları, istisna yönetimi).
GroupDocs.Search for Java kurulumu
Maven kurulumu
pom.xml dosyanıza depo ve bağımlılığı 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>
Doğrudan indirme
Ayrıca en son JAR dosyasını GroupDocs.Search for Java releases adresinden indirebilirsiniz.
Lisans edinme adımları
- Ücretsiz deneme – kütüphaneyi maliyetsiz keşfedin.
- Geçici lisans – genişletilmiş değerlendirme için kısa vadeli bir anahtar isteyin.
- Satın al – üretim kullanımı için tam lisans edinin.
Temel başlatma ve kurulum
İndekse belgeleri eklemek için, önce indeks dosyalarının saklanacağı klasöre işaret eden bir Index nesnesi oluşturmalısınız:
Index, diskteki aranabilir bir indeksi temsil eden temel sınıftır.
import com.groupdocs.search.Index;
// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
Bu satır, belgeleri almaya hazır bir indeksi (oluşturur veya açar).
Uygulama rehberi
Belgeleri oluşturma ve indeksleme
İndekse belgeleri nasıl eklenir
add yöntemi bir klasörü tarar ve her dosya için aranabilir verileri depolar. Desteklenen tüm belgeleri özyinelemeli olarak işler, metin ve meta verileri çıkarır ve daha önce belirttiğiniz indeks klasörüne tokenları yazar.
import com.groupdocs.search.Index;
// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
- Parametreler: Yol dizesi, indekslemek istediğiniz dosyaları içeren klasöre işaret eder.
- Amaç: Bu adımın ardından indeks, tüm desteklenen belge türlerinden tokenlar içerir ve tüm koleksiyon üzerinde hızlı aramaları mümkün kılar.
Metin sorgu araması
Metin tabanlı sayısal aralık araması nasıl yapılır
Aralık tanımlayan basit bir dize kullanarak arama yapabilirsiniz. Motor, ~~ operatörünü “arasında” olarak yorumlar ve belirtilen sınırlar içindeki sayıları içeren tüm belgeleri döndürür.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";
// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
- Parametreler:
"400 ~~ 4000"sorgu dizesi, motoru 400 ile 4000 arasındaki sayıları bulmaya yönlendirir. - Dönüş değeri:
SearchResult, eşleşen belgelerin listesini tutar ve eşleşen parçaları vurgular.
Nesne sorgu araması
Sayısal aralıklar için nesne sorgusu nasıl kullanılır
Nesne tabanlı sorgular, arama kriterleri üzerinde programatik kontrol sağlar, birden fazla koşulu birleştirmenize veya çalışma zamanında dinamik olarak sorgular oluşturmanıza olanak tanır.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);
// Perform search using the query object
SearchResult result2 = index.search(query2);
- Parametreler:
createNumericRangeQuery, başlangıç ve bitiş tam sayılarını alır. - Amaç: Bu yöntem, fatura tutarları, yaşlar veya ürün kodları gibi sayısal alanlara göre sonuçları filtrelemeniz gerektiğinde idealdir.
Pratik uygulamalar
İşte belgeleri nasıl indeksleyebilirsiniz oyunu değiştiren bazı gerçek dünya senaryoları:
- Hukuki belge yönetimi – binlerce sözleşme içinde maddeleri, dava numaralarını veya tarihleri saniyeler içinde bulun.
- Finansal raporlama – her bir elektronik tabloyu taramadan belirli bir para aralığına giren işlemleri çekin.
- Envanter takibi – dağıtık bir dosya sisteminde seri numaraları, parti kodları veya SKU aralıklarıyla öğeleri bulun.
GroupDocs.Search’ü veritabanları, bulut depolama veya mesaj kuyruklarıyla entegre etmek, belge iş akışlarını daha da otomatikleştirebilir.
Performans değerlendirmeleri
- Düzenli indeks güncellemeleri: Yeni dosyalar için indeksi taze tutmak amacıyla
index.addkomutunu yeniden çalıştırın. - Kaynak yönetimi: Yığın kullanımını izleyin; büyük indeksler, ayarlanmış JVM çöp toplama ayarlarından fayda sağlar.
- Sorgu optimizasyonu: Gereksiz taramaları azaltmak ve yanıt süresini iyileştirmek için karmaşık filtrelerde nesne sorgularını kullanın.
Yaygın sorunlar ve çözümler
| Sorun | Neden oluşur | Çözüm |
|---|---|---|
| Arama sonuç vermiyor | İndeks oluşturulmamış veya klasör yolu yanlış | index.add‘in doğru dizinde çalıştırıldığını ve indeks klasörünün yazılabilir olduğunu doğrulayın. |
| İndeksleme sırasında OutOfMemoryError | Çok büyük dosyalar veya yetersiz yığın | JVM -Xmx değerini artırın veya dosyaları daha küçük partiler halinde indeksleyin. |
| Desteklenmeyen dosya formatı | Dosya türü GroupDocs.Search tarafından tanınmıyor | Uzantının desteklenen listede (PDF, DOCX, XLSX, PPTX, TXT, HTML, vb.) olduğundan emin olun. |
Sıkça sorulan sorular
Q: Mevcut bir indeksi yeni belgelerle nasıl güncellerim?
A: index.add("NEW_DOCUMENT_PATH") metodunu tekrar çağırın; kütüphane yeni girdileri bütün indeksi yeniden oluşturmadan birleştirir.
Q: GroupDocs.Search farklı dosya formatlarını işleyebilir mi?
A: Evet, PDF, DOCX, XLSX, PPTX, TXT ve HTML dahil 30+ formatı destekler; böylece neredeyse her iş belgesini indeksleyebilirsiniz.
Q: GroupDocs.Search kullanmak için sistem gereksinimleri nelerdir?
A: Java 8+ çalışma zamanı, orta ölçekli koleksiyonlar için en az 2 GB RAM (daha büyük setler 4 GB+ fayda sağlar) ve indeks klasörüne okuma/yazma erişimi.
Q: Arama performans sorunlarını nasıl gideririm?
A: İndeksi güncel tutun, sorgularınızı profilleyin ve JVM bellek ayarlarını gözden geçirin. İndekslenen alan sayısını azaltmak veya nesne sorguları kullanmak da yürütmeyi hızlandırabilir.
Q: Eşanlamlılar veya bulanık eşleşme desteği var mı?
A: Evet, SearchOptions sınıfı aracılığıyla eşanlamlı sözlüklerini ve bulanık aramayı etkinleştirebilirsiniz; bu, alaka düzeyini kaybetmeden eşleşmeyi genişletir. SearchOptions sınıfı, eşanlamlılar ve bulanık eşleşme gibi gelişmiş arama davranışlarını yapılandırır.
Son Güncelleme: 2026-08-10
Test Edilen: GroupDocs.Search 25.4 for Java
Yazar: GroupDocs