Elasticsearch Nedir?
Çok hızlı bir arama mekanizmasıdır. Her türlü değişikliği anında indeksleyerek arama sonuçlarına değişimi katar.
Yatayda genişleyerek daha hızlı bir yapı kazandırılabilir. Yani yeni node lar ekleyerek arama hızını arttırabilirsiniz.
JSON tipinde verileri tutan document-oriented bir yapıya sahiptir.
Her JSON yapısında veriyi şemasız depolar. Gelen veriyi otomatik olarak inceler ve yapısını çıkartarak indexler.
Elasticsearch etiketlerle anlatılmak istense şunları kullanırdık.
- real-time (gerçek zamanlı)
- distributed (dağıtık çalışabilen)
- search (adı üstünde :)
- analytics (veri üstünde çözümlemeli işlemler yapabilen)
Neredeyse Gerçek Zamanlı
Bir belgenin indekslenmesiyle aranabilir hale getirilmesi arasında 1 saniye gecikme olur.
Küme(Cluster)
Küme, tüm verilerinizi bir arada tutan bir veya daha fazla sunuculardan(NODE) oluşan koleksiyondur. Eşsiz bir adı olmalıdır. ES sunucularınızı, bu eşsiz isimleri kullanarak hangi kümeye dahil ettiğinizi belirtirsiniz. Windows için config
klasörü altındaki elasticsearch.yml
dosyasında ait olduğu cluster adında değişiklik yaparak ES sunucunuzu bir kümenin üyesi haline getirebilirsiniz.
# ---------------------------------- Cluster -----------------------------------
# Use a descriptive name for your cluster:
# cluster.name: my-application
Sunucu (Node)
Sunucu, verilerinizi depolar, ait olduğu kümenin indeksleme ve arama işlemlerinin bir parçası olarak çalışır. Kümeler gibi sunucularında eşsiz bir adı vardır(UUID-Evrensel Tekil Kimlik Doğrulayıcı). Eğer bir UUID tanımlamazsanız varsayılan olarak bir tekil isim üretilerek atanır. Bu UUID ile sunucunuza erişerek yönetimsel işleri yapabilirsiniz.
# ------------------------------------ Node ------------------------------------
# Use a descriptive name for the node:
# node.name: node-1
# Add custom attributes to the node:
# node.attr.rack: r1`
Varsayılan ayarlar ile cluster(küme) ve node(sunucu) isimleri:
Indeks (Index)
İsimlendirmek için küçük harfleri kullanmak kaydıyla tablo isimlerine denk gelen yapıya indeks diyoruz. Örneğin kisiler, kataloglar, kurumlar, siparişler vs.