fbpx
ElasticSearch Nedir?        

İnternet üzerinde geçirdiğimiz süre arttıkça web sitelerinde biriken veri miktarı da artmaktadır. Birçok web sitesinde çok fazla veri üretilmektedir. Bunlara büyük veri (big data) adı verilir. Üretilen verilerin büyük bir kısmı ise dağınık, tek başlarına anlamsız ve yapılandırılmamış halde bulunmaktadır. İşletmeler için bu verilerin anlamlı hale gelmesi, hızlı ve doğru bir şekilde erişilebilir ve analiz edilebilir olması ise müşteri sadakati sağlama ve pazarlama stratejisi geliştirme açısından önemlidir. Bunun yanı sıra sorunları görme gibi birçok açıdan hayati önem taşımaktadır. Bununla birlikte “ElasticSearch nedir?” konusu merak edilmektedir.

ElasticSearch, bir arama aracıdır. Bu arama aracı, Apache Lucene altyapısı üzerine, Java programlama dili ile geliştirilmiştir. Bu araç bir full text (metin), arama motoru ve analiz aracı olarak da bilinmektedir. Bunun yanı sıra ElasticSearch nedir, altyapısı ve kullanımı gibi konular merak edilmektedir. Konu hakkında detaylı bilgi için yazımızı okumaya devam edebilirsiniz.

ElasticSearch Text Üzerinden Aramaları Nasıl Yapar?

ElasticSearch’e bir veri kaydettiğinizde veri içerisinde belirlediğiniz alanlar Apache Lucene altyapısı kullanılarak indexlenmektedir. ElasticSearch bir kelimenin hangi dökümanda (row) geçtiğini veriler kaydedilirken indexleme özelliğine sahiptir. Daha sonra ise kelime aramak istediğimizde tüm veriler üzerinde arama yapmak yerine, daha önce oluşturulan index listesi üzerinden sonuçlar hızlıca bulunabilir.

ElasticSearch Altyapısı

ElasticSearch tamamen Java dilinde yazılmıştır. Dağıtık mimariye sahip, açık kaynak kodlu bir proje olan ElasticSearch, Apache Lucene projesini temel alır. Lucene projesi daha çok unstructured dediğimiz düz metinlerin indexlenmesini sağlar. ElasticSearch ise Lucene altyapısının üzerine structured dediğimiz veri yapısı belli belgelerin indexlenmesi ve aranabilmesine olanak tanır. Temel olarak ElasticSearch üzerinde tutulan her belge bir JSON nesnesidir.

ElasticSearch Nasıl Kullanılır?

Öncelikle indirilen dosyayı ZIP dosyasından çıkarmanız gerekir. Daha sonra ise klasör adından sürüm numarasını kaldırarak “C” root dizinine yerleştirmelisiniz.

Alınan dosyaya hızlı bir bakışla baktığımızda ise:

Bin: Çeşitli işletim sistemleri için başlangıç dosyaları mevcuttur.

Config: ElasticSearch ve günlüğe kaydetmeyi yapılandırabileceğiniz bir dosya bulunur.

Lib: ElasticSearch tarafından kullanılan kendi JAR format dosyanız olmalı.

Modüller: Elastik arama işlevi sağlayan modüller ve işlevsellik eklemek için gereken eklentiler gibi dosyalar bulunmalıdır.

ElasticSearch Nasıl Çalışır?      

ElasticSearch çerçevesi çok hızlıdır. Bu hızı sağlamak için sayılar, coğrafi değerler, tarihler ve metin içerebilen özel bir dizin yapısı kullanılır. Bunun yanı sıra kullanıcı olarak bu teknik detayları bilmenize gerek duymazsınız. Temel olarak, ElasticSearch’de JSON formatında milyonlarca veya trilyonlarca satırdan oluşan verileri atayabilirsiniz. Ayrıca uygun konfigürasyon ve kullanımı çok kolay bir API ile verilere milisaniyeler içinde erişmeniz mümkündür.

ElasticSearch Avantajları Nelerdir?   

ElasticSearch avantajları aşağıdaki gibidir:

  • Java tabanlıdır.                                                                                           
  • Apache Lucene dayanmaktadır.
  • Açık kaynak, veri depolama biçimi belge odaklıdır.
  • Merkezi olmayan ve ölçeklenebilir bir yapıda çalışır.
  • Gerçek zamanlı verilerin analizine olanak tanır.
  • Belgeler, alanlar, dizinler, tam metin araması, gibi kavramlara sahiptir.
  • Küme yapısına sahiptir ve küme yapısı oldukça kolaydır.

ElasticSearch Temel Kavramları

ElasticSearch hakkında pek çok kavram mevcuttur. Bununla birlikte temel kavramlar aşağıdaki gibidir:

Indice: ElasticSearch, geleneksel ilişkisel veri tabanı yerine dizin kavramını kullanmaktadır.

Type: Dizinde depolanan her belgenin türünü belirten bir türü mevcuttur. Type ise ilişkisel bir veri tabanındaki bir tabloya karşılık gelir.

RDC olarak bu yazımızda, ElasticSearch nedir konusu hakkında merak edilenleri sizler ile paylaştık. Yazılım çözümlerimizden faydalanmak, ürün ve hizmetlerimiz hakkında daha fazla bilgi sahibi olmak için sitemizi inceleyebilir ya da iletişim kanallarımız üzerinden bizimle iletişime geçebilirsiniz.

Dikkatinizi Çekebilir: PYTHON İLE NELER YAPILABİLİR?