ElasticSearch (Esnek Arama) Nedir?
İnsanların internette geçirdiği süre arttıkça, web sitelerinde biriken veri miktarı da artıyor. Birçok web sitesinde devasa miktarda veri üretiliyor ve bunlara büyük veri (Big data) deniliyor. Üretilen bu verilerin büyük bir kısmı dağınık, tek başlarına anlamsız ve yapılandırılmamış halde bulunuyor. İşletmeler için bu verilerin anlamlı hale gelmesi, hızlı ve doğru bir şekilde erişilebilir ve analiz edilebilir olması; müşteri sadakati sağlama, pazarlama stratejisi geliştirme, sorunları görme gibi birçok açıdan hayati önem taşıyor. Arama araçlarının birçoğu, bu tür büyük, dağınık ve tek başlarına anlamsız veri topluluklarında işe yaramıyor. ElasticSearch, işletmelerin bu tür ihtiyaçlarını karşılamak amacıyla geliştirilmiş bir arama aracıdır. GTech olarak bu yazımızda, ElasticSearch ile ilgili çeşitli bilgileri paylaştık.
ElasticSearch Nasıl Ortaya Çıktı?
ElasticSearch, Apache Lucene altyapısı üzerinde, Java programlama dili kullanılarak geliştirilmiş bir metin (full text) arama motoru ve analiz aracıdır. Tek makinedeki devasa boyuttaki metin dosyaları üzerinde arama gerçekleştirmek için geliştirilen Lucene, anlık veriler ve dağıtık sistemler üzerindeki aramalarda yetersiz kaldığı için ortaya çıkan ElasticSearch; esnek yapısı, dağıtık sistemlerdeki gerçek zamanlı verilerle çalışabilmesi gibi yetenekleriyle kısa sürede popülerlik kazanmıştır.
ElasticSearch Avantajları Nelerdir?
- Dağıtık ve yüksek ölçeklenebilir yapıda çalışabilir.
- Açık kaynaklıdır.
- RestfullAPI desteği vardır.
- Gerçeğe yakın zamanlıdır. Bu sayede, veriler kaydedildikten saniyeler sonra SearchElastic ile yapılan aramalarda bulunabilirler.
- Kolay bir şekilde yedekleme yapılabilir.
- Alternatiflerine göre çok az kaynak kullanarak çalışır.
- Basit bir cluster yapısına sahiptir.
- İndeksleme yaptığı için, arama sonuçlarını hızlı bir şekilde verir.
- Dokümanları JSON olarak indekslediğinden, birçok programlama dilini destekler.
- Veri tipine uygun olarak mapping yapabilir.
- Hızlı ve kolay kurulum imkanına sahiptir.
- MongoDB, NoSQL, Cassandra ve HBase gibi veri tabanlarından ElasticSearch’e veri aktarımına izin verir.
- Otomatik tamamlama özelliği vardır.
ElasticSearch Nasıl Çalışır?
ElasticSearch’e herhangi bir veri kaydedilirken, veri içerisinde daha önceden belirlenen alanlar indekslenir. ElasticSearch, bu işlemi veri kaydının ilk anında gerçekleştirdiği ve verileri indeks listesine göre sınıflandırdığı için, arama sonuçlarına hızlıca ulaşabilir.
ElasticSearch Temel Kavramları Nelerdir?
- Indice: Klasik arama motorlarında veri tabanları üzerinden arama gerçekleştirilirken, ElasticSearch aramaları “Indice” olarak adlandırılan indeks dosyaları üzerinden gerçekleştirilir. ElasticSearch Clusterlarında birden fazla veri tabanı (Indice) bulunabilir.
- Type: İlişkisel veri tabanlarındaki tablolardır ve verileri mantıksal bölümlere ayırır. ElasticSearch, aynı indeks içerisinde birden fazla Type barındırabilir.
- Document: ElasticSearch içerisindeki Type yapılarında yer alan satırları temsil eder ve Type’ler bu yapılardan oluşur.
- Mapping: İndekslenen verilerin hangi veri tipinde olduğunun tanımlandığı işlemdir.
- Field: Diğer veri tabanı türlerindeki Column (Sütun) ElasticSearch’te Field (Alan) olarak adlandırılır. Her bir Document birden fazla Field (Alan) barındırabilir.
- Cluster: Bir veya daha fazla düğümün toplamıdır. Cluster sayesinde tüm verileri içeren indeks oluşturma ve arama kabiliyetleri oluşur.
GTech; Büyük Veri ve İleri Analitik hizmetleri ile işletmelerin büyük veri ihtiyaçları için en uygun büyük veri platformunun ve kapasitesinin belirlenmesi için danışmanlık hizmeti sunarken ayrıca mevcut büyük veri ekosistemlerini de sağlık taramasından geçirir ve en uygun geliştirme önerilerinde bulunur.
GTech’in sunduğu ürünler ve hizmetler ile ilgili daha detaylı bilgiye ulaşmak ve aklınızdaki sorulara yanıt bulmak için web sitemizde yer alan Bize Ulaşın sayfasını kullanabilirsiniz