TEMEL
Elasticsearch Nedir?
Elasticsearch, Apache Lucene üzerine inşa edilmiş, dağıtık bir arama ve analitik motorudur. Yapılandırılmış ve yapılandırılmamış verileri gerçek zamanlıya yakın hızlarda indeksler ve sorgular.
Temel Kullanım Alanları
| Senaryo | Açıklama | Gerçek Hayat |
|---|---|---|
| Full-text search | Metin tabanlı arama, fuzzy matching, highlighting | E-ticaret ürün arama |
| Log analytics | Büyük hacimli log verisi analizi | ELK Stack ile sistem logları |
| APM & Observability | Uygulama performans izleme | Elastic APM + distributed tracing |
| Security analytics | SIEM, tehdit algılama | Elastic Security |
| Vector search | Semantic arama, RAG | AI-powered arama motorları |
| Geospatial | Konum tabanlı sorgular | Harita uygulamaları |
ELK Stack Bileşenleri
| Bileşen | Rol | Versiyon |
|---|---|---|
| Elasticsearch | Arama ve analitik motoru | 9.4.2 |
| Logstash | Veri toplama ve dönüştürme pipeline'ı | 9.4 |
| Kibana | Görselleştirme ve yönetim arayüzü | 9.4 |
| Beats | Hafif veri toplayıcılar (Filebeat, Metricbeat...) | 9.4 |
| Elastic Agent | Unified agent (Beats yerine) | 9.4 |
Örnek: Bir e-ticaret platformunda kullanıcı "kırmızı beden 42 spor ayakkabı" yazdığında, Elasticsearch bu sorguyu tokenize eder, ilgili analyzer'lardan geçirir ve milisaniyeler içinde binlerce üründen en alakalı sonuçları döner — fuzzy matching sayesinde "ayakkabi" yazılsa bile doğru sonuçları bulur.
Karar Rehberi
| Durum | Öneri | Örnek veya gerekçe |
|---|---|---|
| Full-text arama | Uygun | Lucene-tabanlı, en iyi text search |
| Primary database | Uygun değil | ACID garantisi yok, eventual consistency |
| Log & metrik analizi | Uygun | Time-series optimize, ILM desteği |
| Gerçek zamanlı dashboard | Uygun | Aggregation engine çok güçlü |
| OLTP transactions | Uygun değil | Relational DB kullan |
| Küçük veri (<10K kayıt) | Uygun değil | PostgreSQL FTS yeterli |
| Binary/blob storage | Uygun değil | Object storage kullan |
Önemli: Elasticsearch bir arama motorudur, veritabanı değildir. Primary data source olarak kullanmayın — her zaman source of truth (PostgreSQL, SQL Server vb.) ile birlikte kullanın. ES index'i rebuild edilebilir olmalıdır.
Deployment Seçenekleri Karşılaştırması
| Özellik | Self-Managed | Elastic Cloud | AWS OpenSearch | Azure Cognitive Search |
|---|---|---|---|---|
| Versiyon | 9.4.x (en güncel) | 9.4.x (hızlı adopt) | Fork (OpenSearch 2.x) | Ayrı ürün (Lucene-based) |
| **ES | QL** | Evet | Evet | Hayır (PPL/SQL) |
| ELSER (ML) | Evet | Evet | Hayır | Kendi modeli |
| Maliyet (3-node, 10GB) | ~$300/ay (infra) | ~$350/ay | ~$250/ay | ~$500/ay |
| Operasyonel yük | Yüksek (patch, cert, backup) | Düşük (managed) | Düşük | En düşük |
| Esneklik | Tam kontrol | Plugin kısıtlı | Fork limitleri | Kapalı ekosistem |
| SLA | Kendi sorumluluğunuz | 99.95% | 99.99% | 99.9% |
| .NET client | Official (Elastic.*) | Official (Elastic.*) | OpenSearch.Client | Azure.Search.Documents |
| Best for | Büyük ekip, özel gereksinim | Çoğu production | AWS ekosistem lock-in | Basit arama, Azure native |
Not: Elastic Cloud çoğu ekip için doğru seçimdir — yeni ES sürümleri hızla gelir, upgrade otomatik, ML features dahil. Self-managed yalnızca: compliance (veri lokasyonu), özel plugin ihtiyacı veya maliyet optimizasyonu (büyük cluster) gerektiren ekipler için uygundur.