Elasticsearch nedir, entegrasyonu nasıl yapılır?
4 min readElasticsearch, BigData ile çalışan kuruluşların veri analizi, sorgulamalar ve öneriler gibi işlemlerinde istenilen bilgiye hızlı ulaştırmak amacıyla geliştirilmiş bir arama aracıdır.
İnternet kullanım oranı her geçen gün artmaya devam ediyor. Çok değil, daha kısa bir süre öncesine kadar anketlerde karşılaştığımız, “Günün kaç saatini televizyon izleyerek geçiriyorsunuz?” sorusu bile yerini, “Günün kaç saatini internet ortamında geçiriyorsunuz?” sorusuna bırakmış durumda. Çünkü insanlar günün büyük bir kısmını sosyal medya ve internet ortamında geçiriyor. İnternet ortamında harcanan vakit arttıkça, geçirilen süreler ve arama metrikleri de göz önünde bulundurularak daha fazla içerik arzı gerçekleştiriliyor. Haliyle binlerce site üzerinde devasa ölçekte veriler üretiliyor. Buna da ‘big data’ yani ‘büyük veri’ adı veriliyor.
Elasticsearch nedir?
Üretilen büyük veri yığını tek başınayken haliyle birazcık dağınık duruyor. Bu durum da haliyle dağınık bilgi yığını içerisinden bir süzgeç yardımı ile istenilen bilgiye/bilgilere ulaşma gereksiniminin oluşmasına neden oluyor. Talep edilen bilgiyi hızlı bir biçimde sistem süzgecinden geçirerek kullanıcılarınıza ulaştırmanız; kullanım kolaylığı ve ulaşılabilirliğin beraberinde kullanıcı memnuniyetini sağlamanıza büyük oranda fayda sağlıyor. Bu süzgecin bir adı yok mu dediğinizi duyar gibiyim.
Elasticsearch, veri sağlayıcıların ve kuruluşların bu tür ihtiyaçlarına cevap vermek amacıyla geliştirilmiş bir arama aracıdır. Bu sebeple bu süzgece verilebilecek en doğru isim de budur.
Apache Lucene altyapılı olan Elasticsearch, verileri gerçek zamanlı analiz etmeyi sağlar. Elasticsearch, teknik olarak, giderek artan sayıda kullanım örneğini yani veriyi ele alabilen, dağıtılmış, RESTful bir arama ve analiz motoru olarak da tanımlanabilir.
Çok çok büyük veri depoları söz konusu olunca, ne için kullanabilirim, bizim işimizi görür mü sorusu aklınıza gelebilir. Elasticsearch; sayılar, metinler, coğrafi metrikler, yapılandırılmış ve yapılandırılmamış veriler ve tüm veri türleri için kullanıma açıktır.
RESTful bir arama ve analiz motoru olan Elasticsearch ile birçok imkana ulaşılması mümkün. Bunlardan bazıları:
- Ölçeklenebilirlik ve dayanıklılık seçenekleri,
- Yönetim seçenekleri,
- Güvenlik ayar ve seçenekleri,
- Uyarı ve bildirim sistemleri,
- Müşteriler için araçlar,
- REST API’leri
ve bunlar dışında kalan diğer entegrasyon olanakları ile bulut esneklik imkanlarına da ulaşmak mümkün.
Elasticsearch nasıl çalışır?
Elasticsearch’ün çalışma yöntemi biraz farklıdır. Herhangi bir veriyi Elasticsearch’e işlerken, daha önceden belirlenen alanlar veri içerisinde indekslenir. Yapılan bu işlem veri kaydının ilk aşamasında gerçekleştirilir. İşlenen verilerin indeks listesine göre sınıflandırılmasından dolayı, yapılan aramaların sonuçlarına çok daha hızlıca ulaşılabilir.
Lucene kütüphanesine dayanan bu arama motoru sayesinde, SQL kullanarak 10 saniyeden uzun süren sorguları, aynı donanım kullanılarak sonuçlara ulaşma süresini 10 milisaniyenin altına düşürecektir. Petabaytlarca veriyi hızlıca ayıklayarak istenilen sonuca sizi en hızlı şekilde ulaştırmaya çalışan bu aracı kullanıp kullanmamaya karar vermek için de deneme imkanınız bulunuyor.
Yapısı gereği hızlı sonuçlarla sonlanan sorgularınız, verileriniz ile olan bağınızı da kuvvetlendiriyor. Hızlı yapısı sayesinde verileri çok kısa sürede tartarak süzgeçten geçiren Elasticsearch ile çalışıyorsanız, verilerinizi hiç çekinmeden artırmaya ve bilgi deponuzu geliştirmeye devam edebilirsiniz. Bu arama motoru sistemi, toplamaları, verilerinizdeki eğilimleri ve kalıpları keşfetmek için onları ölçeklendirmenize, ölçekli analiz yapısıyla olanak tanır.
Ayrıca hız faktörü düşünülürken, tasarım da göz ardı edilmemiş. Bu arama ve analiz motorunun görsel olarak da istenileni verdiğini söyleyelim.
Elasticsearch PHP buluşması: Elasticsearch WordPress entegrasyonu
Siz de güçlü içerik yönetim sistemlerinden biri olan WordPress kullanıcısıysanız; tüm bu detayların ardından, Elasticsearch WordPress entegrasyonu var mı diye merak ediyor olabilirsiniz. Web sitelerine önde gelen arama deneyimleri ile farklı bir boyut getirmek isteyen herkes için bu sistemin mevcut olduğunu belirtelim.
Elasticsearch WordPress entegrasyonu, ‘Elastic Site Search: WordPress Search Plugin’ ile sağlanabiliyor. Böylece Elasticsearch PHP tabanlı yaygın kullanım ağına sahip içerik yönetim sistemiyle de buluşturulabiliyor.
WordPress ile Elastic Site Search: WordPress Search Plugin arasındaki bağı ise Elasticsearch API aracılığıyla sağlamak mümkün oluyor.
Daha fazla detay için yazılımın web sitesini ziyaret edebilirsiniz.