Bu bilişim dünyası nebi derya.. Okumakla bitmiyor.. Duyduklarımızı, gördüklerimizi öğrenmekle zaman harcasak çalışmaya zaman kalmayacak açıkcası..
Benim hayatıma ise elasticsearch girişi Hidayet Doğan ‘ın “Soğuk Amerikan Esprileri” Serisi sayesinde oldu 🙂
Bu yazımda size kabaca ElasticSearch nedir ve nasıl kurulur ondan bahsedeceğim.
ElasticSearch Java ile geliştirilmiş açık kaynak, lucene tabanlı, ölçeklenebilir bir tam metin(full text) arama motoru ve veri analiz aracıdır.
Gerçek zamanlı(real-time) ve dağıtık(distributed) oluşu en önemli artılarındandır. Yani özetle çok hızlıdır diyip geçelim.. Güçlü ve Esnektir..
ElasticSearch bildiğiniz bir çok BigData(Büyük veriler ile çalışan sistemler) yapılarda içerik aramaları, veri analizi ve sorgulamalar için kullanılmakta. örneğin Foursquare, GitHub gibi..
ElasticSearch ile ilgili bazı kavramlara kısaca değinmek istiyorum;
Full Text Search (Tam metin arama)
Bence elasticsearch için diyebileceğimiz en önemli özellik.. Tam metin arama..
Veritabanları büyüdükçe hız/performans sorunları yaşanmaktadır.
Çözüm olarak metin alanlarında yer alan kelimelerin endekslenerek kataloglanması yoluna gidilmiş ve bu sayede büyük boyutlu veriler ile çalışılırken dahi, veritabanlarının daha hızlı, performanslı cevap vermesi sağlanmıştır.
“ElasticSearch çoklu dil desteği, güçlü bir sorgu dili ve otomatik tamamlama gibi güçlü tam metin arama yetenekleri sağlar.”
RESTfull Api
ElasticSearch için ikinci önemli özellik bence günümüzde mobil uygulamalar, angular js vb. sistemlerde kullandığımız RESTFull API. ElasticSearch RESTfull Api ye göre uyarlanmıştır. Yapılacak tüm işlemler RESTfull API ile, HTTP üzerinden JSON kullanarak gerçekleştirilebilir.
Index
ElasticSearch’te her kayıt, yapılandırılmış JSON belgesidir. Yani özetle ElasticSearch endeksleri JSON belgeler topluluğudur.
Mapping
Haritalama, bir belgenin arama motoruna nasıl aktarılması gerektiğini tanımlama sürecidir. Tipler oluşturulurken, mapping bilgisi ile oluşturulur. ElasticSearch, gönderilen veriden hareketle(örneğin string, integer, double, boolean) mapping’i otomatik oluşturur(açık haritalama/explicit mapping). Bir mapping tanımlayarak varsayılan mapping’i geçersiz kılabilirsiniz.
Evet Yavaştan KURULUM nasıl yapılır ondan bahsedelim;
http://www.onurcanalp.com/2013/12/06/git-command-not-found-hatasi/ yazımda git komutunun kurulması ve yazının devamında git üzerinden elasticsearch çekilmesini resimli olarak anlatmıştım. Orada yazılı işlemleri yaptıktan sonra aşağıdaki işlemlere geçebilirsiniz.
Ben downloads altına çekmiştim dosyaları, oradan devam ederek Servisi Tanımlayalım:
sudo mc elasticsearch-0.90.7 /user.......
şeklinde başlayan satırdan başlıyor üstteki ilk üç satır kafanızı karıştırmasın dosyanın adını anımasayamadım da bir an 🙂
Gördüğünüz gibi kısa bir süre sonra çalışıyor. 50700 rakamı değişebilir sizde takılmayın ona..
Çalıştıktan sonra test için http://localhost:9200 adresine bakabilirsiniz bilgisayarınızda.
Sonucunda size ekrana şu şekilde bi çıktı basacaktır;
İşlem başarılı demektir bu şekilde geldiyse sizde de…
Hepsi bu kadar.. Bir fırsatım olursa incelemeye size bununla ilgili sorgulama tekniklerinden bahsedeceğim, şimdilik bu kadar.. İyi çalışmalar dilerim..