Makale Başlıkları
Elasticsearch, büyük veri analizi ve hızlı metin tabanlı arama ihtiyaçlarını karşılayan güçlü ve ölçeklenebilir bir arama motorudur. Özellikle web siteleri, e-ticaret platformları ve log yönetim sistemleri gibi yoğun veri trafiğine sahip uygulamalarda yüksek performansıyla dikkat çeker. Açık kaynaklı yapısı sayesinde geliştiricilere esnek çözümler sunar.
Veri indeksleme ve hızlı sorgulama yetenekleri sayesinde Elasticsearch, milyonlarca veri kaydında bile milisaniyeler içinde sonuçlar döndürebilir. Özelleştirilebilir altyapısı ile büyük veri yönetiminde zaman ve kaynak tasarrufu sağlar. Bu makalede Elasticsearch’ün sunduğu avantajları ve kullanım alanlarını detaylı bir şekilde inceleyeceğiz.
Elasticsearch Text Üzerinden Aramaları Nasıl Yapar?
Elasticsearch veri depoladığınızda, verilerde belirttiğiniz alanlar Apache Lucene altyapısı kullanılarak indekslenir. Elasticsearch, verileri kaydederken kelimenin hangi belgede (satırda) olduğunu indeksler. Ardından, tüm verileri aramak yerine kelime aramak istiyorsanız, sonuçları hızlı bir şekilde bulmak için daha önce oluşturduğunuz dizin listesini kullanabilirsiniz.
Elasticsearch Altyapısı
Elasticsearch altyapısı tamamen Java ile yazılmış dağıtılmış bir mimariye sahip açık kaynaklı bir projedir. Arama motorları, arama motoru konularıyla ilgilenen herkesin duymuş olabileceği Apache Lucene projesine dayanmaktadır. Lucene projesi, düz metin indeksleme ve arama sağlar. Buna yapılandırılmamış denir.
Lucene altyapısı üzerinde yapılandırma adı verilen Elasticsearch veri yapıları ise belirli dokümanları indekslemenize ve aramanıza olanak tanır. Temel olarak, Elasticsearch’te depolanan her belge bir JSON nesnesidir ve bu belgeyi diğer belgelerden ayırt etmek için benzersiz bir kimliğe sahip olmalıdır.
Elasticsearch Nasıl Kullanılır?
İndirilen dosyayı zip dosyasından çıkarın, klasör adından sürüm numarasını kaldırın ve “C” root dizinine yerleştirin.
Alınan dosyaya hızlı bir bakışla şöyle baktığımızda:
- bin: Çeşitli işletim sistemleri için başlangıç dosyaları vardır.
- config: ElasticSearch ve günlüğe kaydetmeyi yapılandırabileceğim bir dosya var.
- lib: Elasticsearch tarafından kullanılan kendi JAR format dosyam var.
- Modüller: Burada, elastik arama işlevi sağlayan modüller ve işlevsellik eklemek için gereken eklentiler gibi dosyalar bulacaksınız.
İndirme işlemini önceden gerçekleştirin, “C” root dizininin “elasticsearch” yolundaki “config” dosyasının altındaki “elasticsearch.yml” dosyasını düzenleyin ve ayar işlemini gerçekleştirin. Yapılandırma sırasında yapılacak işlem, küme adını veya düğüm adını belirlemektir.
Elasticsearch.yml dosyasını herhangi bir metin düzenleyicide açın ve aşağıdaki iki değişikliği yapın.
# Use a descriptive name for your cluster: # cluster.name: elastic_gokalp_test # # ———————————— Node ———————————— # # Use a descriptive name for the node: # node.name: gokalp_test_01 #
Konfigurasyon işlemleri sadece bu kadardır.
- Grok 3 Nedir? Nasıl Kullanılır ve Ne İşe Yarar?
- İnternetten Para Kazanmak | Online Para Kazanma Yöntemleri – 2025
- SitePad Kurulumu | Hazır Web Sitesi
- Hazır Web Sitesi Aracı ile Hızlı ve Kolay Site Hazırlama
- WordPress Hosting Nedir? WP Web Hosting Özellikleri ve Fiyatı
- Cache Nedir? Cache Temizleme Nasıl Yapılır?
- SEO Hosting Nedir? SEO Hosting Özellikleri ve Fiyatları
- Bayi Hosting Nedir? Bayi Hosting Özellikleri ve Fiyatı
Elasticsearch Nasıl Çalışır?
Her şeyden önce, Elasticsearch çerçevesi en önemlisi ç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ıyoruz. Ancak kullanıcı olarak bu teknik detayları bilmenize gerek yoktur. Temel olarak, Elasticsearche JSON formatında milyonlarca veya trilyonlarca satırdan oluşan verileri atayabilir ve uygun konfigürasyon ve kullanımı çok kolay bir API ile verilere milisaniyeler içinde erişebilirsiniz.
Elasticsearch, petabaytlarca veri depolayan dizüstü bilgisayarlarda veya büyük sunucu çiftliklerinde çalışabilir. Ayrıca, bunun için karmaşık ayarlar gerekmez. Küme kurulumu Elasticsearch altyapısı tarafından otomatik olarak yapılır. Ayrıca, dizüstü bilgisayarınızda kurulu Elasticsearch ile iletişim kurmak, binlerce sunucudan oluşan bir Elasticsearch kümesi ile iletişim kurmakla aynıdır. Elasticsearch, verilerinizi ve dizinlerinizi nasıl tutacağınızı da otomatik olarak belirler.
Elasticsearch Avantajları Nelerdir?
Sağlanan REST API sayesinde Elasticsearch kullanımı Elasticsearch nasıl kullanılır ve Elasticsearch avantajları nelerdir, kısmına geleceksek, rakiplerine göre çok daha kolaydır. Ayrıca her dil için oluşturulmuş özel kütüphaneler ile Java, C#, Python, Javascript, PHP ve Ruby gibi birçok programlama dilinde kullanılabilir. Diğer avantajları ise şu şekildedir;
- Java tabanlıdır.
- Apache Lucene dayanmaktadır. (Paylaşım ve replika kavramı ES’de de geçerlidir.)
- Açık kaynak, veri depolama biçimi, ilişkisel değil, belge odaklıdır.
- Merkezi olmayan ve ölçeklenebilir bir yapıda çalışabilir.
- Gerçek zamanlı verilerin analizini sağlar.
- Tipi, alanlar, belgeler, alanlar, dizinler, tam metin araması, dizinler vb. gibi kavramlara sahiptir.
- Restfull API aracılığıyla çalıştırılır ve tüm programlama dillerinde mevcuttur.
- Veri tipine göre otomatik eşleştirme yapabilirsiniz.
- Küme yapısına sahiptir ve küme yapısı oldukça basittir.
- 403 Forbbiden Hatası Nedir ve Nasıl Giderilir ?
- 404 Not Found Hatası Ne Demek? (Çözüldü)
- A/B Testi Nedir? A/B Test Teknikleri
- Acronis Nedir? Veri Yedeklemede Acronisin Önemi
- AdBlock Nedir? AdBlock Ayarları ve Avantajları Nelerdir?
- Adobe XD Nedir? Özellikleri Neler? AdobeXD Ücretli mi?
- Affilate Nedir? Affilate Marketing Nasıl Yapılır?
- AKN Nedir? AKN Ne İşe Yarar?
- Alan Adı Gizliliği Nedir?
- AMP Nedir?
Elasticsearch Temel Kavramları
Elasticsearch hakkında pek çok kavram vardır. Ancak temel kavramlar aşağıdaki gibi sıralanmıştır.
- Indice: Yukarıda bahsedildiği gibi, Elasticsearch, geleneksel ilişkisel veritabanı yerine dizin kavramını kullanır. Elasticsearch kümeleri, birden çok dizin (veritabanı) içerebilir.
- Type: Dizinde depolanan her belgenin türünü belirten bir türü vardır. type, ilişkisel bir veri tabanındaki bir tabloya karşılık gelir. Örneğin, ürünleri ve kullanıcıları tür olarak değerlendirebilirsiniz. Kavramı, Elasticsearch sürüm 7.0’da kullanımdan kaldırılmıştır. Ancak bu kavram birçok kaynakta bulunabilir.
Deprecated Edilmesinin Sebebi:
Type’ın ilişkisel bir veri tabanındaki bir tabloya karşılık geldiğini düşünüyorum, ama değil. İlişkisel veritabanı tabloları birbirinden bağımsızdır. Örneğin, kullanıcı tablosundaki ad alanı ile ürün tablosundaki ad alanı bağlantılı değildir. Ancak, Elasticsearch’te aynı dizin altında aynı adı taşıyan alanlar, arka planda aynı Lucene alanına karşılık gelir.
Yani, kullanıcı tipi adı alanı ve ürün tipi adı alanı, önceki örnekte olduğu gibi aynı alanda saklanır. Bu bazı sorunlara neden olur. Örneğin, bir isDeleted alanı türünün tamsayı türünde olması gerektiğini düşünüyorsanız, aynı dizindeki başka bir tür alanı Boole değeri olarak tutabilir. Bu nedenle tip kavramı ortadan kaldırılmıştır.
- Document: Elasticsearch’te ilişkisel veri tabanı satırları belgeler olarak temsil edilir. Her türün birden fazla belgesi vardır.
- Field: İlişkisel bir veri tabanının sütun alanına karşılık gelir. Belge birden fazla alan içerebilir. Alanın eşleme için bir alan türü vardır. Bu tür terimleri belge türüyle karıştırmayın. Alan türü, alana dahil edilebilecek veri türünü (tamsayı, dize, nesne vb.) belirtir.
- İndex: İndex, bir JSON belgeleri yığınıdır. İlişkisel veri tabanının veri tabanına karşılık gelir. Elasticsearch kümeleri birden çok dizin içerebilir.
- Mapping Elasticsearch’e ve Elasticsearch’ten verilerin nasıl aktarılacağını ve okunacağını tanımlar. Depolanan veri türüne bağlı olarak her bir JSON alanının nasıl davrandığı hakkında bilgi içerir. İlişkisel bir veri tabanının şemasına karşılık gelir. Atamalar manuel olarak yapılabilir. Eşleme yapılmazsa, Elasticsearch bunu otomatik olarak yapar (dinamik eşleme).
- Node: Kümenizde çalışan her Elasticsearch örneğine düğüm adı verilir. Düğüm; veri depolama, indeksleme ve almadan sorumludur. Elasticsearch açıkken düğüm, küme adına dayalı olarak tek noktaya yayın keşfi yapar ve uygun kümeye katılır. Node farklı işlev ve rollere sahip olabilir. Daha fazla ayrıntı bu bağlantıda bulunabilir.
- Shard: Index’lerde çok fazla veri performans, ölçeklenebilirlik ve bakım sorunlarına neden olabilir. Bu nedenle, dizin Lucene örnekleri olan parçalara bölünebilir. Dizin oluşturulduktan sonra, parça sayısı belirlenir ve veriler parçalar arasında dağıtılır. Bu yapı, farklı parçalar üzerinde gelen isteklerin yatay ölçeklendirilmesini ve paralel işlenmesini sağlar.
- Replica: Elasticsearch, parça veya düğüm hasarı ve arıza süresi gibi durumları tolere etmek ve erişilebilirliği sağlamak için parçaların kopyalarını oluşturur. Parçaların birden fazla kopyası olabilir. Kopyalanan parçaya birincil parça adı verilir. Ortaya çıkan kopyaya replika denir. Kopyası, erişilebilirlik için birincil parça ile aynı düğümde olmamalıdır. Aramalar eşleme tarafından paralel olarak işlendiğinden, eşlemesi de performansa katkıda bulunur.
- Indexing & Search
Elasticsearch, verileri kaydederken kelimelerin göründüğü belgeler hakkındaki bilgileri indeksler. Bu yapı, bir kitabın dizin kısmı gibidir. Kitap dizini, hangi kelimelerin hangi sayfalarda olduğu hakkında bilgi içerir. Elasticsearch, hangi kelimelerin hangi belgelerde göründüğüyle ilgili bilgileri depolamak için Apache Lucene’nin ters çevrilmiş dizin altyapısını da kullanır.
Ters çevrilmiş dizin, aşağıdaki resimde gösterildiği gibi bir belgedeki benzersiz sözcükleri ve bunların bulundukları yeri içeren bir veri yapısıdır. Bir araması sırasında Elasticsearch, bu kelimeyi içeren belgeler için ters çevrilmiş dizin listesini arar ve tüm verileri aramak yerine onu bir JSON nesnesi olarak döndürür. Bu belgeler de değerlendirme algoritmasına göre değerlendirilir. Derecelendirme algoritması, belgede aranan kelimelerin sıklığı gibi çeşitli kriterlere göre belirlenir.
Alastyr Teknoloji, domain (alan adı), web hosting, bulut sunucu (cloud server) ve veri merkezi hizmetleri ile siz de projelerinizi hayata geçirebilirsiniz. Hızlı, güvenli ve ekonomik web çözümlerimiz ile ihtiyacınız olan performansa sahip olun. Türkiye’nin en çok tavsiye edilen domain ve hosting firması Alastyr, güçlü teknoloji alt yapısı, en güncel yazılımları, 7/24 Türkçe Destek hizmeti ve 15 gün koşulsuz iade garantisi ile hizmet vermektedir.
Web projeleriniz için en uygun fiyatlarla domain satın al. Bireysel ve kurumsal web projeleriniz için bulut sunucu kirala. Web sitelerinizi hızlı, güvenli ve yüksek performans ile yayınlayabileceğiniz en iyi hosting paketine sahip ol.
Destek Kütüphanemize Göz Atın
- Reseller’da trafik kullanımı nasıl görüntülenir? (cPanel)
- cPanel’de Bayi Hosting Hesabı Nasıl Silinir?
- FTP hesabı şifresi nasıl değiştirilir? (cPanel)
- cPanel’de FTP Hesabı Nasıl Oluşturulur?
- E-posta hesabı nasıl yönlendirilir? (cPanel)
- cPanel’de Yedek Alma ve İndirme İşlemi Nasıl Yapılır?
- cPanel şifresi nasıl değiştirilir?
- Tek Tıkla Joomla Kurulumu
- cPanel’de Otomatik SSL Sertifika Kurulumu Nasıl Yapılır?
- A Kaydı Nasıl Oluşturulur?
- Cron Job Nedir?