🇹🇷 Türkçe açıklama aşağıda bulunmaktadır.
A distributed parallel text search application built with Java. The system distributes keyword search tasks across multiple CPU cores and/or multiple computers on the same network, significantly reducing search time for large text files.
- 🔍 Keyword Search — Search for words or phrases within uploaded text files
- ⚡ Parallel Processing — Distributes search tasks across multiple CPU cores
- 🌐 Distributed Architecture — Sends tasks to multiple computers over the same network (Client-Server)
- 🖥️ Graphical User Interface — Easy-to-use Java GUI
- 📧 Email Notification — Sends search results via email
- 📁 File Transfer — Supports sending files across the network
| Technology | Purpose |
|---|---|
| Java | Core language |
| Java Sockets | Client-Server communication |
| Java Swing | GUI |
| Java Threading | Parallel processing |
| JavaMail API | Email sending |
distributed-parallel-text-search/
├── Main.java # Entry point
├── Server.java # Server — receives and distributes tasks
├── Client.java # Client — sends tasks to server
├── Cekirdek.java # Core processor — handles parallel search
├── GUI.java # Graphical user interface
├── EmailGonder.java # Email notification module
└── dosyaGonder.java # File transfer module
- Clone the repository:
git clone https://github.com/gulseliocakci/distributed-parallel-text-search.git
- Compile all
.javafiles:javac *.java - Start the server:
java Server
- Launch the client / GUI:
java Main
[User uploads text file]
↓
[GUI sends search request]
↓
[Server distributes tasks to Clients on network]
↓
[Each Client searches its chunk in parallel using CPU cores]
↓
[Results collected and displayed / sent via email]
Java ile geliştirilmiş dağıtık ve paralel metin arama uygulaması. Sistem, anahtar kelime arama görevlerini birden fazla CPU çekirdeğine ve/veya aynı ağdaki birden fazla bilgisayara dağıtarak büyük metin dosyalarında arama süresini önemli ölçüde azaltır.
- 🔍 Anahtar Kelime Arama — Yüklenen metin dosyalarında kelime veya ifade arama
- ⚡ Paralel İşlem — Arama görevlerini birden fazla CPU çekirdeğine dağıtma
- 🌐 Dağıtık Mimari — Aynı ağdaki birden fazla bilgisayara görev gönderme (İstemci-Sunucu)
- 🖥️ Grafiksel Kullanıcı Arayüzü — Kullanımı kolay Java GUI
- 📧 E-posta Bildirimi — Arama sonuçlarını e-posta ile gönderme
- 📁 Dosya Transferi — Ağ üzerinden dosya gönderme desteği
| Teknoloji | Kullanım Amacı |
|---|---|
| Java | Ana programlama dili |
| Java Sockets | İstemci-Sunucu iletişimi |
| Java Swing | Grafiksel arayüz |
| Java Threading | Paralel işlem |
| JavaMail API | E-posta gönderimi |
distributed-parallel-text-search/
├── Main.java # Giriş noktası
├── Server.java # Sunucu — görevleri alır ve dağıtır
├── Client.java # İstemci — sunucuya görev gönderir
├── Cekirdek.java # Çekirdek işlemci — paralel aramayı yönetir
├── GUI.java # Grafiksel kullanıcı arayüzü
├── EmailGonder.java # E-posta bildirim modülü
└── dosyaGonder.java # Dosya transfer modülü
- Depoyu klonla:
git clone https://github.com/gulseliocakci/distributed-parallel-text-search.git
- Tüm
.javadosyalarını derle:javac *.java - Sunucuyu başlat:
java Server
- İstemciyi / GUI'yi başlat:
java Main
[Kullanıcı metin dosyası yükler]
↓
[GUI arama isteğini gönderir]
↓
[Sunucu görevi ağdaki istemcilere dağıtır]
↓
[Her istemci kendi bölümünü CPU çekirdekleriyle paralel arar]
↓
[Sonuçlar toplanır, ekranda gösterilir / e-posta ile iletilir]