EElasticsearch Handbook

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.

Uygulama .NET / Java / Python ES Client HTTP REST API Elasticsearch Cluster Master Node Cluster state Data Node 1 Shard P0, R1 Data Node 2 Shard P1, R0 Ingest Node Pipeline processing Coordinating Query routing Kibana — Görselleştirme & Yönetim

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.