smaple.tr
Elasticsearch

Elasticsearch ve Arama Altyapısı Rehberi [2026]

Mehmet Kurtipek
9 Mayıs 2026
10 dk okuma
Elasticsearch
arama altyapısı
full-text search
Lucene
OpenSearch
arama motoru
inverted index
relevance

Elasticsearch ve Arama Altyapısı Rehberi

Kullanicilarin bir platformda gecirdigi surenin buyuk bolumu arama ve filtreleme islemleriyle gecer. E-ticaret sitelerinde urun arama, aggregator platformlarda hizmet filtreleme, SaaS uygulamalarinda icerik kesfetme -- tum bu senaryolarda hizli ve dogru sonuc donduren bir arama altyapisi kullanici deneyiminin temel tasiyicisidir. Elasticsearch, Apache Lucene uzerine insa edilmis dagitik bir arama ve analitik motoru olarak bu alanda en yaygin kullanilan cozumdur.

Bu rehberde Elasticsearch ile profesyonel bir arama altyapisi kurmanin tum boyutlarini -- inverted index yapisindan cluster mimarisine, Turkce dil destegindan relevance tuning stratejilerine kadar -- kapsamli sekilde inceliyoruz. Ayrica OpenSearch, Meilisearch ve Algolia gibi alternatifleri de karsilastirarak projenize en uygun cozumu secmenize yardimci oluyoruz.

Inverted Index: Aramanin Temel Yapisi

Geleneksel veritabanlari satirlari sirali olarak tarar. Ancak milyonlarca dokumanda tam metin arama yapmak icin bu yaklasim yetersiz kalir. Elasticsearch'un temelinde bulunan inverted index yapisi, her kelimeyi iceren dokumanlarin listesini tutar. Bu sayede bir arama terimi geldiginde, o terimi iceren tum dokumanlar aninda bulunabilir.

Inverted Index Nasil Calisir

Ornegin uc dokumaniniz olsun: "hizli kargo ile teslimat", "ucretsiz kargo kampanyasi", "hizli teslimat garantisi". Inverted index su sekilde olusur: "hizli" -> [dok1, dok3], "kargo" -> [dok1, dok2], "teslimat" -> [dok1, dok3], "ucretsiz" -> [dok2], "kampanyasi" -> [dok2], "garantisi" -> [dok3]. Kullanici "hizli kargo" arattiginda, her iki terimin kesisimi olan dok1 en yuksek skor ile doner.

Bu yapi, Lucene'in segment bazli mimarisiyle birlesirek hem yazma hem okuma islemlerinde yuksek performans saglar. Her yeni belge eklendiginde kuculuk bir segment olusturulur ve arka planda segmentler birlestirilir (merge).

Cluster Mimarisi ve Temel Kavramlar

Elasticsearch dagitik bir sistem olarak tasarlanmistir. Uretim ortaminda tek bir node yeterli degildir; cluster mimarisini anlamak operasyonel basari icin zorunludur.

Node Turleri

Bir Elasticsearch cluster'i farkli rollere sahip node'lardan olusur. Master node, cluster state yonetimini ustlenir ve index olusturma, silme gibi operasyonlari koordine eder. Data node, gercek veriyi barindiran ve arama sorgularini calistiran node'dur. Coordinating node, istemci isteklerini alip ilgili data node'lara yonlendiren ve sonuclari birlestiren katmandir. Ingest node ise veriyi indeksleme oncesinde donusturmek icin pipeline'lar calistirir.

Shard ve Replica Stratejisi

Her index, bir veya birden fazla shard'a bolunur. Primary shard yazma islemlerini alir; replica shard'lar ise hem yedeklilik hem de okuma performansi saglar. Shard sayisi index olusturulurken belirlenir ve sonradan degistirilemez (reindex gerekir). Genel kural olarak tek bir shard'in boyutu 20-50 GB araliginda tutulmalidir.

Replica sayisi ise dinamik olarak ayarlanabilir. Yuksek okuma trafigi olan ortamlarda replica sayisini artirmak, sorgularin paralel olarak daha fazla node uzerinde calismasini saglar.

Index Tasarimi ve Mapping Stratejileri

Elasticsearch'te mapping, iliskisel veritabanlarindaki sema taniminina karsilik gelir. Dogru mapping tasarimi, hem arama kalitesini hem performansi dogrudan etkiler.

Field Turleri

Text alanlari analiz edilir ve full-text search icin inverted index'e eklenir. Keyword alanlari ise analiz edilmeden saklanir ve exact match, aggregation, siralama islemlerinde kullanilir. Bir alani hem aranabilir hem filtrelenebilir yapmak icin multi-field mapping kullanilir: urun adi hem text hem keyword olarak indekslenir.

Numeric, date, geo_point, nested ve object gibi ozel tur alanlar da farkli kullanim senaryolari icin kritik oneme sahiptir. Ozellikle nested type, ic ice objelerde bagimsiz eslestirme yapmak icin gereklidir ancak performans maliyeti yuksektir.

Dynamic Mapping ve Strict Mode

Varsayilan olarak Elasticsearch, yeni alanlari otomatik olarak mapping'e ekler (dynamic mapping). Uretim ortamlarinda bu davranis beklenmeyen alan patlamalarina yol acabilir. Strict mode ile sadece tanimlanmis alanlar kabul edilir ve beklenmedik veri yapisi degisikliklerinin onde gecilmesi saglanir.

Index Template ve Component Template

Birden fazla index icin ortak mapping ve ayarlar tanimlanacaksa index template kullanilir. Component template'ler ise yeniden kullanilabilir mapping parcalaridir; ornegin tarih alanlari, konum alanlari ve meta alanlari icin ayri component template'ler tanimlanarak farkli index template'lerde birlestirilir. Bu yaklasim, buyuk olcekli sistemlerde mapping yonetimini standartlastirir ve tekrar eden tanimlarin onune gecer.

Turkce Dil Destegi: Analyzer ve Tokenizer

Turkce, sondan eklemeli (agglutinative) yapisiyla Ingilizce'den cok farkli bir morfolojiye sahiptir. "Arabalarimizdan" kelimesini "araba" kokunue indirgemek, Turkce arama kalitesi icin zorunludur.

Custom Turkish Analyzer

Elasticsearch'un yerlesik turkish analyzer'i temel duzeyde stemming yapar. Ancak profesyonel bir Turkce arama deneyimi icin ozel analyzer zinciri olusturulmalidir. Bu zincir su bilesenlerden olusur: lowercase filter ile buyuk-kucuk harf normalizasyonu, turkish_stop filter ile gereksiz kelimelerin (ve, ile, bir, bu) cikarilmasi, turkish_stemmer ile kok bulma ve asciifolding filter ile Turkce karakterlerin ASCII karsiliklarina donusturulmesi.

ASCII folding ozellikle onemlidir cunku kullanicilar cogu zaman "cay" yerine "cay", "guzel" yerine "guzel" yazarlar. Her iki yazimi da eslestirmek icin orijinal ve ASCII-folded versiyonlar ayri alanlarda indekslenebilir.

Synonym ve Fuzziness

Kullanicilarin farkli terimlerle ayni seyi aramasi yaygindir: "cep telefonu", "akilli telefon", "mobil telefon". Synonym filter ile bu terimlerin esdeger oldugu tanimlanir. Fuzzy search ise yazim hatalarini tolere eder; "elastiksearch" yazildiginda "elasticsearch" sonuclari donebilir. Fuzziness degeri genellikle AUTO olarak ayarlanir ve kelime uzunluguna gore edit distance belirlenir.

Relevance Tuning: Dogru Sonucu One Cikarmak

Arama sonuclarinin siralanmasi, kullanici memnuniyetini dogrudan belirler. Elasticsearch varsayilan olarak BM25 algoritmasini kullanir.

BM25 Algoritmasinin Temelleri

BM25, bir terimin dokumandaki sikligini (TF), tum dokumanlar arasindaki nadirligi (IDF) ve dokuman uzunlugunu hesaba katar. Kisa bir urun basliginda gecen terim, uzun bir aciklama metninde gecen ayni terimden daha yuksek skor alir.

Field Boosting

Tum alanlar esit oneme sahip degildir. Urun basliginda gecen eslesme, aciklama metnindekinden daha onemlidir. Multi-match sorgularinda field boosting ile bu agirliklar ayarlanir. Ornegin baslik alani 3x, kategori 2x, aciklama 1x agirlikla degerlendirilir.

Function Score ile Ozel Siralama

Saf metin benzerliginin otesinde, is mantigi da siralamaya katilmalidir. Function score sorgulari ile su faktorler eklenebilir: urunun populeritesi (satis adedi, goruntulenme), yenilik tarihi (decay function ile eski iceriklerin skorunun dusurulmesi), kullanici konumuna yakinlik (geo_distance), stok durumu ve kampanya onceligi.

Bu faktorlerin metin skoru ile nasil birlestirilecegi (multiply, sum, replace, min, max) dikkatle ayarlanmalidir. Genellikle multiply modu ile metin relevance'i korunurken is faktorleri carpan olarak uygulanir.

Autocomplete ve Oneri Mekanizmalari

Kullanici henuz yazmaya baslarken onerilerin gosterilmesi, arama deneyiminin en kritik parcasidir. Elasticsearch bu senaryo icin birden fazla yaklasim sunar.

Completion Suggester

FST (Finite State Transducer) veri yapisi kullanan completion suggester, bellekte calisir ve milisaniye altinda sonuc doner. Prefix bazli eslestirme yapar ve ozellikle urun adi, kategori adi gibi tanimli deger kumelerinde etkilidir.

Edge N-gram Tokenizer

Daha esnek bir autocomplete icin edge n-gram tokenizer kullanilir. "Elasticsearch" kelimesi "el", "ela", "elas", "elast" seklinde tokenize edilir. Bu sayede kelimenin basindan itibaren herhangi bir noktada eslestirme yapilabilir. Search analyzer olarak standard kullanilirken, index analyzer olarak edge n-gram kullanilir.

Search-as-You-Type

Elasticsearch 7.x ile gelen search_as_you_type field type'i, edge n-gram ve shingle analizini otomatik olarak yapar. Hem prefix hem infix eslestirmeyi destekler ve autocomplete senaryolari icin en kolay cozumdur.

Faceted Search ve Aggregation

Modern arama arayuzleri sadece sonuc listesi sunmaz; kategorilere, fiyat araliklarina, ozelliklere gore filtreleme panelleri (facet) gosterir. Elasticsearch'un aggregation framework'u bu islevselligin temelini olusturur.

Terms Aggregation

Bir alandaki benzersiz degerleri ve her birinin dokuman sayisini dondurur. Kategori filtreleri, marka listeleri, renk secenekleri gibi facet'ler bu yapiyla olusturulur.

Range Aggregation

Fiyat araliklari, tarih dilimleri gibi sayisal facet'ler icin range aggregation kullanilir. Histogram aggregation ile esit aralikli gruplama da mumkundur.

Nested Aggregation

Birden fazla facet'in birlikte calismasi icin aggregation'lar ic ice yuvalanir. Ornegin once kategoriye, sonra her kategori icinde marka dagilimina bakilabilir. Post-filter ile secili facet'ler sonuc listesini etkilerken diger facet'lerin sayilari guncellenir.

Performans Optimizasyonu

Buyuk olcekli arama altyapilarinda performans, surekli izlenmesi ve iyilestirilmesi gereken bir alandir.

Indexing Performansi

Toplu veri yuklemelerinde bulk API kullanilmalidir. Refresh interval varsayilan 1 saniyedir; toplu indexleme sirasinda gecici olarak devre disi birakilabilir. Replica sayisi da toplu yukleme sirasinda sifira indirilerek yazma performansi arttirilabilir.

Query Performansi

Filter context kullanimina oncelik verilmelidir cunku filter sorguları skor hesaplamaz ve cache'lenebilir. Bool sorgularinda filter clause'u, must clause'undan daha performanslidir. Gereksiz script sorgularindan kacinilmali, mumkun olan her yerde native query DSL tercih edilmelidir.

Cache Stratejisi

Elasticsearch uc katmanli cache kullanir: node query cache (filter sonuclarini cache'ler), shard request cache (aggregation sonuclarini cache'ler) ve fielddata cache (sort ve aggregation icin). Bu cache'lerin boyutlarinin izlenmesi ve gecersiz kilma (invalidation) stratejilerinin belirlenmesi onemlidir.

Olceklendirme Stratejileri

Trafik ve veri buyudukce arama altyapisinin yatay olarak olceklenmesi gerekir.

Yatay Olceklendirme

Yeni data node'lar eklenerek shard'lar otomatik olarak yeniden dagitilir (rebalancing). Hot-warm-cold mimarisi ile sik erisilen veriler hizli disk kullanan hot node'larda, eski veriler daha yavas warm ve cold node'larda tutulur. ILM (Index Lifecycle Management) ile index'ler otomatik olarak fazlar arasinda tasiniir.

Birden fazla cluster uzerinde tek bir sorgu calistirmak icin cross-cluster search (CCS) kullanilir. Cografi olarak dagitik sistemlerde veya farkli is birimleri icin ayri cluster'lar isletildiginde bu yaklasim tercih edilir.

Index Rollover ve Zaman Bazli Indeksleme

Log, olay ve zaman serisi verileri icin zaman bazli index stratejisi uygulanir. Index rollover ile belirli bir boyut, dokuman sayisi veya sure esigine ulasildiginda otomatik olarak yeni bir index olusturulur. Index alias'lari bu gecisi uygulamadan seffaf hale getirir; yazma islemi her zaman aktif index'e yonlendirilirken, okuma islemi tum ilgili index'leri kapsar. Bu strateji ozellikle yuksek hacimli veri alan platformlarda indeksleme performansini korur ve eski verilerin temizlenmesini kolaylastirir.

Monitoring ve Operasyonel Yonetim

Elasticsearch cluster'inin saglikli calismasini izlemek icin birden fazla metrik takip edilmelidir.

Temel Metrikler

Cluster health (green, yellow, red) durumu surekli izlenmelidir. JVM heap kullanimi yuzde 75'i gecmemelidir. Search latency (p50, p95, p99) ve indexing rate metrikleri performans bozulmasini erken tespit ettirir. Shard sayisi cluster basina 1000'in altinda tutulmaya calisilmalidir; fazla shard master node uzerinde yuk olusturur.

Araclari

Kibana'nin Stack Monitoring ozelligi, cluster metriklerini gorsel olarak sunar. Elasticsearch Exporter ile Prometheus ve Grafana entegrasyonu saglanabilir. Alerting kurallariyla disk dolulugu, heap basinci, sorgu gecikmesi gibi kosullarda bildirim tetiklenir.

Alternatif Cozumler

Elasticsearch her senaryo icin en uygun cozum olmayabilir. Alternatifler farkli guc ve zaafiyetlere sahiptir.

OpenSearch

AWS tarafindan Elasticsearch 7.10 fork'u olarak gelistirilir. Lisans kisitlamasi olmayan acik kaynak bir secenektir ve Elasticsearch ile buyuk olcude uyumludur. AWS ekosisteminde calisanlar icin dogal bir tercih olabilir.

Meilisearch ve Typesense

Her ikisi de kurulumu ve kullanimi Elasticsearch'a gore cok daha basit olan modern arama motorlaridir. Ozellikle kucuk-orta olcekli projeler, MVP'ler ve hizli prototipleme icin idealdir. Typo-tolerance ve instant search ozellikleri yerlesik olarak gelir.

Algolia

Yonetilen (managed) bir arama hizmeti olarak altyapi yonetimi gerektirmez. Sorgu basina fiyatlandirma modeli vardir. Hizli entegrasyon ve zengin UI bilesenleri sunar, ancak buyuk olcekte maliyet avantaji azalir.

Smart Maple olarak aggregator platformlar ve e-ticaret projeleri icin arama altyapisi tasarlarken, projenin olcegine ve teknik gereksinimlerine gore bu alternatifleri de degerlendiriyoruz.

E-ticaret ve Aggregator Platformlarinda Arama

Arama altyapisi, ozellikle cok sayida kayit iceren platformlarda kullanici deneyiminin belirleyicisidir.

E-ticaret Senaryolari

Urun arama, kategori filtreleme, fiyat araligi facet'leri, stok durumuna gore filtreleme, benzer urun onerileri ve "bunu mu demek istediniz" (did-you-mean) ozellikleri standart beklentilerdir. Ayrica kullanicinin arama gecmisine dayali kisisellestirilmis siralama da rekabet avantaji saglar.

Aggregator Platform Senaryolari

Birden fazla kaynaktan gelen verilerin birlestirilerek aranabilir hale getirilmesi gerekir. Farkli veri semaları normalize edilmeli, coklama (deduplication) uygulanmali ve kaynak bazinda agirliklandirma yapilabilmelidir. Konum bazli arama ve filtreleme de aggregator platformlarda siklikla gereken bir yetenektir.

SaaS Uygulamalarinda Arama

SaaS platformlarinda kullanicilar kendi verilerini arar: musteriler, siparisler, belgeler, destek talepleri. Multi-tenant mimaride her kiracinin verisi izole edilmeli ve arama sonuclari sadece o kiracinin kayitlarini icermelidir. Bu izolasyon, index-per-tenant veya routing-based-filtering yaklasimlariyla saglanabilir. Kucuk kiracilarda routing bazli filtreleme daha verimli iken, buyuk kiracilarda ayri index olusturmak performans ve yonetim acisindan avantajli olabilir.

Sonuc ve En Iyi Pratikler

Etkili bir arama altyapisi kurmak, sadece Elasticsearch cluster'i ayaga kaldirmakla bitmez. Mapping tasarimi, analyzer secimi, relevance tuning ve operasyonel izleme bir butun olarak ele alinmalidir. Turkce icerik icin ozel analyzer zincirleri olusturmak, kullanici davranisini A/B testlerle olcmek ve arama metriklerini surekli izlemek basarili bir arama deneyiminin anahtaridir.

Kucuk baslayip olceklenmek her zaman iyi bir stratejidir. Tek node'lu bir gelistirme ortaminda mapping ve analyzer'lari test edin, arama kalitesini olcun ve uretim ortamina gecerken cluster mimarisini ihtiyaca gore buyutun. Arama metriklerini -- sifir sonuc orani, ortalama sorgu suresi, tiklama pozisyonu dagilimi -- surekli izleyerek iyilestirme firsatlarini belirleyin. Arama, kullanicilarin platformunuzla kurdugu ilk temas noktasidir ve bu deneyimin kalitesi platformun genel basarisini dogrudan etkiler.

İlgili Makaleler

10 Ağustos 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Devamını Oku: MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma
9 Ağustos 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Devamını Oku: LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]
8 Ağustos 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Devamını Oku: Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI