Elasticsearch Hakkında Bilmeniz Gerekenler
Elasticsearch Hakkında Bilmeniz Gerekenler
Esnek arama olarak da bilinen Elasticsearch, kısaca bir arama aracıdır. Java programlama dili olarak geliştirilmiş olan Elasticsearch, metinler için analiz aracı olmakla beraber aynı zamanda arama motorudur. Elasticsearch nedir ne işe yarar sorusu da bu bağlama göre şekillenir. Elasticsearch, içerik arama için sorgulamalar ve veri analizleri için tercih edilen işlemleri kusursuz bir şekilde yapmaya yarayan bir programdır. Büyük teknoloji şirketleri tarafından da kullanılan Elasticsearch, güvenilir olmasıyla da öne çıkar. Farklı özelliklere sahip bir program olan Elasticsearch ile indeksler üzerinden aramalar yapılır. Bu aramalar, oldukça hızlı bir şekilde gerçekleşip sonuçlar üretir. Aynı zamanda sorguların üzerinde skorlama yapmak ve de istatiksel olarak analizler yapmak da Elasticsearch ile mümkündür.
Elasticsearch Özellikleri Nelerdir?
Elasticsearch hakkında kullanıcılar tarafından en çok merak edilen konular arasında bu arama motorunun özelliklerinin ne olduğu vardır. Elasticsearch farklı özelliklere sahip bir arama aracıdır. Özellikleri şöyle sıralanabilir:
- Elasticsearch, Java tabanlı bir programdır.
- Farklı veri tabanlarından ES’e aktarım yapmak Elasticsearch ile mümkündür.
- Apache Lucene alt yapısına sahiptir. Aynı zamanda Elasticsearch’de replica ve shared kavramları da aynen geçerlidir.
- Açık kaynaklıdır.
- Kendi içinde yüksek bir erişilebilirlik sunma da Elasticsearch ile mümkün olur.
- Elasticsearch’de veri saklama şekli document – oriented olarak yapılır.
- Veri aktarma Elasticsearch’de oldukça kolay bir şekilde yapılır. Elasticsearch’de veri aktarımı yapabilmek için river gibi yapılar olduğu için veri aktarma kolay hale gelir.
- Elasticsearch, çok sayıda kavrama sahip bir araçtır. Index, type, full text search, fields, indicates ve documents bu kavramlar arasında yer alır.
- Elasticsearch’ü kurmak oldukça hızlı ve kolaydır.
- Verdiği gelişmiş hizmetlerden dolayı Elasticsearch’ü tüm programlama dilleriyle kullanmak mümkündür.
- Elasticsearch, içerisindeki dokümanları JSON şeklinde indeksleme özelliğine sahiptir.
- Elasticsearch ile veri tipine uygun olarak mapping yapmak da mümkündür.
- Elasticsearch’ün sahip olduğu yapılar arasında Cluster da yer alır. Cluster, oldukça kolay ve basit olan bir yapıdır.
- Elasticsearch, gerçek ile yakın zamanlı bir araçtır. Bu bağlamda da veriler kaydedildikten hemen sonra aramalarda karşılaşılabilir.
- Elasticsearch, oldukça az sayıda kaynak ile çalışır.
- Arama sonuçlarını oldukça hızlı olarak vermek de Elasticsearch özellikleri arasında yer alır.
- Elasticsearch’te otomatik olarak tamamlama özelliği de mevcuttur ve kolaylık sağlar.
Elasticsearch Nasıl Kullanılır?
Elasticsearch nasıl kullanılır sorusu, programı kullanmak isteyenlerin merak ettiği detaylar arasında yer alır. Elasticsearch kullanımı oldukça basit olan programlar arasındadır. Big Data ile çalışan sistemler için metin araması yapmaya yarayan Elasticsearch, oldukça kolay ve hızlı bir şekilde işlemleri yerine getirir. Elasticsearch kullanmak için öncelikle işletim sisteminin ne olduğuna dikkat etmek gerekir. Farklı yükleme dosyaları arasından kullanılan işletim sistemine uygun olan Elasticsearch yükleme dosyasının seçilmesi gerekir. Uygun dosya seçildikten sonra indirme işlemine başlanır. İndirme işlemi tamamlandıktan sonra Elasticsearch.bat dosyasının çalıştırılması gerekir. Çalıştıktan sonra da Elasticsearch yapısı ile proje oluşturmaya başlanır. Create a new project kısmına girip console application ibaresi seçilir. Bu ibare ile proje şablonu seçilmiş olur. Projeye isim verildikten sonra da create ibaresi seçilerek proje oluşturma işlemi gerçekleştirilir. Bu aşamadan sonra tools, nuget package manager, manage nuget packager for solution ibarelerinin de seçilmesi gerekir. Seçildikten sonra da NEST paketi seçilir ve proje yüklenmiş olur. Bu işlemden sonra ise Elastic Search’ün yapısına uygun olan ve eklenecek sınıf yazılır. Sonrasında client ayarları yapılır. Ayarlar tamamlandıktan sonra da customer sınıfına eklemeler yapılır. Eklemelerden sonra da index oluşturulur. İndeks oluşturduktan sonra da hazırlanan sınıf ile eşleştirme yapılır ve ekleme işlemleri de gerçekleştirilir. Sonrasında proje çalıştırılır. Elasticsearch kullanımı da bu şekilde gerçekleşmiş olur.
Elasticsearch Temel Kavramları Nelerdir?
Elasticsearch, farklı kavramlar ve kaynaklarla beraber metin araması yapmak ve analiz için kullanılan bir programdır. Elasticsearch ne için kullanılır sorusuna cevap veren bu cümle aynı zamanda kavramların ne olduğuyla ilgili de merak uyandırır. Elasticsearch, belli kavramlara sahip bir programdır. Bu kavramlar program için oldukça önemlidir. Elasticsearch temel kavramlarını şöyle sıralamak mümkündür:
- Type: Tablolar anlamına gelen type, Elasticsearch’de yer alan verileri bölümlere ayırmaya yarar. Aynı indeksin içerisinde çok sayıda type bulunması da mümkündür.
- Document: Tabloların yapılarında yer alan satırları temsil eden kavramdır. Tablolar aynı zamanda bu yapılardan oluşur.
- Field: Veri tabanı türlerindeki sütunlar, Elasticsearch’de bu isimle anılır. Field, document içinde çok sayıda yer alan yapıdır.
- Indice: Veri tabanlarıyla beraber indeksler de Elasticsearch için oldukça önemlidir.
- Mapping: Elasticsearch’de veriler indekslenir. İndekslenen verilerin hangi tipte oldukları da mapping ile anlaşılır.
- Cluster: Cluster, birden fazla düğümün toplamını temsil eder. Verileri içeren indekslerin oluşturulması ve arama kabiliyetleri cluster ile gerçekleşir.
- Node: Node, Elasticsearch’de serverı karşılayan terimdir. Tek bir serverı temsil eder. Elasticsearch’de veriler depolanır. Depolanan veriler makinelerde olur. Bu makinelerden her birine de node adı verilir.
- Shard: Elasticsearch’de bazen tek seferde çok sayıda dokümanı indekslemek mümkün olmayabilir. Bu durumda yeterli server yok demektir. Shardlar da bu durumda oluşacak karışıklığı gidermek için, kullanıcılar tarafından ayarlanabilen parçalardır.
Elasticsearch dersleri ile bu kavramları ve nasıl kullanılacakları kolay bir şekilde öğrenip kullanmaya başlamak mümkündür.
Yazılım dünyasında kendini geliştirmek ve bu alandaki kariyerine yön vermek istiyorsan, Techcareer.net’in "Kariyer Rehberi"ne de göz atmanı tavsiye ederiz :)