Ölçeklenebilir Arama Ağı Oluşturun – Belgeleri GroupDocs.Java ile Dizinle
Bu öğreticide, GroupDocs.Search for Java ile belgeleri indekse eklemeyi ve ölçeklenebilir bir arama ağı oluşturmayı öğreneceksiniz. Bir arama ağı yapılandırmayı, düğümleri dağıtmayı ve olayları yönetmeyi adım adım göstereceğiz, böylece uygulamanız birden fazla sunucu üzerinde büyük belge koleksiyonlarını verimli bir şekilde işleyebilir.
Hızlı Yanıtlar
- “belgeleri indekse eklemek” ne anlama gelir? Bu, dosyaları aranabilir bir indekse eklemek anlamına gelir, böylece hızlı bir şekilde sorgulanabilir.
- Bu yeteneği sağlayan kütüphane hangisidir? GroupDocs.Search for Java.
- Bir lisansa ihtiyacım var mı? Geçici bir deneme lisansı mevcuttur; üretim için ticari bir lisans gereklidir.
- Yatay olarak ölçeklendirebilir miyim? Evet—birden fazla SearchNetworkNode örneği dağıtarak.
- Hangi Java sürümü gereklidir? JDK 8 veya daha üstü.
Belgeleri indekse eklemek nedir?
Kaynak dosyalarınızı (PDF, DOCX, PPTX, vb.) GroupDocs.Search motoruna yükleyin; motor metni çıkarır, terim‑frekans tabloları oluşturur ve bunları bir indeks dosyasında saklar. Oluşan indeks, çok sayfalı koleksiyonlarda bile saniyenin altında anahtar kelime sorgularına olanak tanır.
Ağ ortamında GroupDocs.Search for Java neden kullanılmalı?
İndeksleme ve arama iş yüklerini birden fazla düğüm arasında dağıtarak, veri kaynağına yakın işleyerek sorgu gecikmesini azaltır ve düğümleri kesintisiz ekleyip kaldırabilirsiniz. Bu mimari, birden fazla sunucu arasında arama yapmanıza izin verir ve performansı tutarlı tutar.
Önkoşullar
- Java Development Kit (JDK) 8+ yüklü.
- Maven bağımlılık yönetimi için.
- Java ve Maven proje yapısına temel aşinalık.
Gerekli Kütüphaneler, Sürümler ve Bağımlılıklar
GroupDocs.Search for Java’ı uygulamak için Maven projenize aşağıdakileri 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 sürümü GroupDocs.Search for Java sürümleri adresinden indirebilirsiniz. Sürümleri ayrıca GroupDocs Search Java sürümleri adresinde bulabilirsiniz.
Ortam Kurulum Gereksinimleri
- Sisteminizde JDK 8 veya daha üstü yüklü.
- Maven yüklü ve Maven projesi kullanıyorsanız yapılandırılmış.
Bilgi Önkoşulları
- Java programlamaya temel bir anlayış.
- Maven’de bağımlılık yönetimine aşinalık.
GroupDocs.Search for Java’ı Kurma
- Maven Kurulumu: Yukarıda gösterildiği gibi
pom.xmldosyanıza depo ve bağımlılığı ekleyin. - Doğrudan İndirme: Alternatif olarak, kütüphaneyi GroupDocs Search Java sürümleri adresinden indirebilirsiniz.
Lisans Edinme
- GroupDocs web sitesini ziyaret ederek ücretsiz bir deneme veya geçici lisans edinin.
- Tam erişim ve destek için ticari bir lisans satın almayı düşünün.
Temel Başlatma
Java uygulamanızda GroupDocs.Search’i başlatın:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index
Index index = new Index("path/to/index/directory");
// Add documents to the index
index.add("path/to/documents");
System.out.println("GroupDocs.Search setup complete.");
}
}
Arama Ağında Belgeleri İndekse Nasıl Eklenir?
Belgelerinizi ağdaki herhangi bir düğüm üzerinden yükleyin; çerçeve indeksleme iş yükünü otomatik olarak dağıtır, yükü dengeler ve paylaşılan indeksi gerçek zamanlı olarak günceller. Her düğüm atanan dosyaları işler, metni çıkarır ve merkezi indekse artımlı değişiklikler yazar, böylece yeni eklenen içerik hemen tüm düğümlerde aranabilir hâle gelir.
Özellik 1: Arama Ağını Yapılandırma
Genel Bakış
Bir arama ağı yapılandırmak, düğümleri arama görevlerini verimli bir şekilde yönetmek ve dağıtmak için ayarlamayı içerir.
Adım 1: Temel Yolu ve Bağlantı Noktasını Tanımlama
SearchNetworkNode sınıfı, dağıtılmış indekse katılan tek bir düğümü temsil eder.
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
Adım 2: Ağı Yapılandırma
NetworkConfiguration her düğümün başlangıçta okuduğu ortak ayarları (temel yol, bağlantı noktaları, replikasyon faktörü) tutar.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
Özellik 2: Arama Ağ Düğümlerini Dağıtma
Genel Bakış
Ağınızda arama işlemlerini dağıtmak ve yönetmek için düğümleri dağıtın.
Adım 1: Yapılandırma Kullanarak Düğümleri Dağıtma
SearchNetworkNode örnekleri aynı yapılandırma dosyasıyla başlatılır, böylece tanımlı temel bağlantı noktası aralığı üzerinden birbirlerini keşfedebilirler.
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
Özellik 3: Düğüm Olaylarına Abone Olma
Genel Bakış
Düğüm olaylarına abone olmak, arama ağı içindeki çeşitli eylemleri izlemenize ve yanıt vermenize olanak tanır.
Adım 1: Abonelik Yöntemini Tanımlama
NodeEventListener, indeksleme ilerlemesi, hatalar ve düğüm sağlık değişiklikleri için geri çağrılar almanızı sağlayan bir arayüzdür.
import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;
public static void subscribe(SearchNetworkNode node) {
// Subscribe to IndexingCompleted event
node.getEvents().IndexingCompleted.add(new EventHandler() {
@Override
public void invoke(Object s, EventArgs e) {
System.out.println("Indexing completed.");
}
});
// Additional events can be subscribed similarly...
}
Adım 2: Abonelik Yöntemini Kullanma
Dinleyicinizi her düğümde kaydedin, böylece büyük toplu işlemler sırasında gerçek zamanlı geri bildirim alırsınız.
SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);
Düğümleri Kapatma
Bekleyen yazmaları temizlemek ve ağ soketlerini serbest bırakmak için düğümleri her zaman düzgün bir şekilde kapatın.
for (SearchNetworkNode node : nodes) {
node.close();
}
Pratik Uygulamalar
- Kurumsal Arama Çözümleri – Birden fazla sunucu üzerinde büyük ölçekli belge aramalarını yönetmek için bir arama ağı uygulayın.
- E‑ticaret Platformları – İndeksleme görevlerini birkaç düğüm arasında dağıtarak ürün arama yeteneklerini artırın.
- İçerik Yönetim Sistemleri (CMS) – CMS ortamlarında içerik alma ve güncellemelerin performansını iyileştirin.
Performans Düşünceleri
- Sistem kaynaklarınıza göre düğüm dağıtımını optimize edin.
- Özellikle büyük veri setleriyle çalışırken bellek sızıntılarını önlemek için bellek kullanımını düzenli olarak izleyin.
- Daha iyi verimlilik için indeksleme ve arama işlemlerini ince ayarlamak amacıyla yapılandırma ayarlarını kullanın.
Yaygın Sorunlar ve Çözümler
| Sorun | Tipik Neden | Çözüm |
|---|---|---|
| Bağlantı noktası çakışmaları | basePort zaten kullanımda | basePort‘u kullanılabilir bir numaraya değiştirin |
| Düğüm erişilemez | Güvenlik duvarı veya ağ kuralları | Gerekli bağlantı noktalarını açın ve bağlantıyı doğrulayın |
| İndeks güncellenmiyor | Yanlış belge yolu | basePath‘in doğru dizine işaret ettiğini doğrulayın |
| Yüksek bellek kullanımı | Büyük toplu indeksleme | Belgeleri daha küçük partilerde indeksleyin veya yığın (heap) boyutunu artırın |
Sıkça Sorulan Sorular
S: Düğümleri dağıtırken bağlantı noktası çakışmalarını nasıl ele alırım?
C: Yapılandırma kodunuzdaki basePort değişkenini kullanılabilir bir bağlantı noktasına değiştirin.
S: GroupDocs.Search gerçek zamanlı indeksleme için kullanılabilir mi?
C: Evet, uygun yapılandırmalarla gerçek zamanlı indekslemeyi destekler.
S: Düğüm dağıtımı sırasında bazı yaygın sorunlar nelerdir?
C: Ağ bağlantısı ve yanlış yol ayarları sık karşılaşılan sorunlardır. Tüm yolların ve bağlantı noktalarının doğru yapılandırıldığından emin olun.
S: Ağ çalışırken belgelere indekse eklemek mümkün mü?
C: Kesinlikle. Herhangi bir düğümde index.add(...) çağrısı yapabilirsiniz; ağ yeni iş yükünü otomatik olarak dağıtacaktır.
S: Geliştirme testleri için bir lisansa ihtiyacım var mı?
C: Test için geçici bir deneme lisansı yeterlidir; üretim kullanımı için ticari bir lisans gereklidir.
Kaynaklar
- Dokümantasyon: GroupDocs Search Java Dokümantasyonu
- API Referansı: GroupDocs API Referansı
- İndirme: En Son Sürüm
- GitHub: GroupDocs.Search GitHub Deposu
- Ücretsiz Destek: GroupDocs Forum
- Geçici Lisans: Geçici Lisans Alın
Bu rehberi izleyerek, GroupDocs.Search for Java kullanarak belgeleri indekse ekleyebilir ve sağlam bir ölçeklenebilir arama ağı oluşturabilir. Kodlamanın tadını çıkarın!
Son Güncelleme: 2026-05-22
Test Edilen Versiyon: GroupDocs.Search 25.4 for Java
Yazar: GroupDocs