Pratik Bilgiler ve Pratik Komutlar: Elasticsearch
Merhabalar. Serinin bu yazısındaki ipuçları Elasticsearch ile ilgili olacak.
- Elasticsearch ile adres satırından nasıl sorgulama yapılır?
- Elasticsearch ile adres satırı sorguları nasıl pretty yazdırılır?
- Elasticsearch index listeleme
- Elasticsearch truncate index, delete all documents from Elasticsearch index
- Elasticsearch üzerinde SQL kullanabilir miyiz? Nasıl?
- Elasticsearch’te mevcut index’e bir alan eklemek: Adding a field on existing index on Elasticsearch
- Elasticsearch index içinde kaç doküman var – document count in an index
- Elasticsearch cluster administration ve security ile ilgili güzel kaynaklar
- Elasticsearch’te authentication ve encryption gibi temel güvenlik özellikleri için lisans bedeli ödemem gerekir mi?
- Elasticsearch Upgrade Stratejileri
- Elasticsearch Cluster kaç tane index var?
1. Elasticsearch ile adres satırından nasıl sorgulama yapılır?
Örnek Elasticsearch 7.X içindir.
http://localhost:9200/products/_search?q=elma
2. Elasticsearch ile adres satırı sorguları nasıl pretty yazdırılır?
http://localhost:9200/products/_search?pretty=true&q=elma
3. Elasticsearch index listeleme
GET /_cat/indices
Beklenen çıktı:
yellow open movies CTRAqesTSDmdZPnhBdG5eQ 1 1 5 0 4.8kb 4.8kb green open kibana_sample_data_ecommerce PMW_ug9tRCGP5kZgydc81Q 1 0 4675 0 4.5mb 4.5mb green open .kibana_task_manager_1 s5O2pCDRTTmSnmZyfIj2rw 1 0 2 1 35.6kb 35.6kb
4. Elasticsearch truncate index, delete all documents from Elasticsearch index
Elasticsearch’de aynı ilişkisel veri tabanlarında olduğu gibi bir index içindeki tüm belgeleri (document) silmek isteyebiliriz. Aşağıdaki komut streaming_vintage_sales index’i içindeki tüm belgeleri siliyor.
POST /streaming_vintage_sales/_delete_by_query { "query" :{ "match_all": {} } }
5. Elasticsearch üzerinde SQL kullanabilir miyiz? Nasıl?
Evet kullanabiliriz. Kibana console üzerinden aşağıdaki örneği verelim.
POST _sql?format=txt { "query": """ SELECT * FROM "TABLE" """ }
Yukarıda TABLE yerine index yazmamız yeterlidir.
6. Elasticsearch’te mevcut index’e bir alan eklemek: Adding a field on existing index on Elasticsearch
Kibana konsol üzerinden aşağıdaki komut ile mevcut bir index’e yeni bir alan ekleyebiliriz. Aşağıda streaming_university_sales index’ine türü long olan ve adı SalesMonth olan yeni bir alan ekliyoruz.
PUT /streaming_university_sales/_mapping { "properties": { "SalesMonth": { "type" : "long" } } }
7. Elasticsearch index içinde kaç doküman var – document count in an index
GET /_cat/indices?v
?v başlıkları da göstererek index’leri listeler.
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open twitter rsTX7kVpQeKpQoY74wGUNw 1 1 192 0 2.9mb 2.9mb green open .apm-custom-link wf2puZySQ5y8NMa3ezgLVw 1 0 0 0 208b 208b green open .kibana_task_manager_1 NjFxIngpSpmkx1e7tKPhIQ 1 0 6 441 172.5kb 172.5kb green open .kibana-event-log-7.9.0-000001 i2uojvFJS9SzbTnAKMw62g 1 0 1 0 5.5kb 5.5kb green open .apm-agent-configuration D8Q7FoDBSLmJ2pz4HQkQuA 1 0 0 0 208b 208b green open .async-search UjvCqRCnQj2gvoyAxUXw8w 1 0 1 1 7.4kb 7.4kb green open .kibana_1 haBbnkZGRb2PQ8KtFiOOMA 1 0 40 538 11mb 11mb
8. Elasticsearch cluster administration ve security ile ilgili güzel kaynaklar
Güvenlik:
- Getting started with Elasticsearch security
- Elasticsearch Security: Configure TLS/SSL & PKI Authentication
- HOW TO SECURE YOUR ELASTIC STACK (PLUS KIBANA, LOGSTASH AND BEATS)
Administration:
- Creating an Elasticsearch Cluster: Getting Started
- INSTALLING ELASTICSEARCH USING ANSIBLE – THE QUICK WAY!
- Automatically Update Elastic Stack with Ansible Playbooks
- Organize your work with Kibana spaces
- A new era for cluster coordination in Elasticsearch
9. Elasticsearch’te authentication ve encryption gibi temel güvenlik özellikleri için lisans bedeli ödemem gerekir mi?
Hayır. 6.8/7.1 sürümünden sonra TLS encryption, user authentication ve role-based access control gibi güvenlik seçenekleri free lisans altında dağıtılmaya başlandı. Bu yüzden bu sürümlerden sonrasını kullanıyorsanız ilave bir lisans maliyetine katlanmanız gerekmez. Daha gelişmiş güvenlik özellikleri için lisans satın almanız gerekir.
10. Elasticsearch Upgrade Stratejileri
Elasticsearch 7.X çıkalı epey oldu. Artık Elastic 6.X’den 7.X’e yükseltmeler başlamıştır. Upgrade için 2 farklı strateji kullanılabilir: rolling upgrade veya full-cluster restart. İlki herhangi bir kesintiye sebep vermez ancak önce 6.7’ye geçip sonra 7.X’e geçmek gerekir. Full-cluster restart yönteminde ise hizmet kesintisi olur ancak tek hamlede 6.X’ten 7.X’e geçiş yapılabilir.
11. Elasticsearch Cluster kaç tane index var?
# List indices curl -XGET -u <user_name>:<password> localhost:9200/_cat/indices yellow open online-retail-logstash-1m eUHy7IeCQWGGLvttNSeBOw 1 1 37824 0 11.6mb 11.6mb yellow open online_retail k-IWbb33QJW4-6LHii85dQ 1 1 1 0 6kb 6kb yellow open online_retail_python QNuRKnXLSKO0lksG_WMlwg 1 1 9102 0 759.9kb 759.9kb green open .apm-custom-link ZRn_JRJjRC2A8nA8iLAJmg 1 0 0 0 208b 208b green open .kibana-event-log-7.9.0-000001 4k7M9ihYRlm7sKX-MKl4RQ 1 0 5 0 27kb 27kb green open .kibana_task_manager_1 V-uRa39JQoeXlqh57TKagg 1 0 6 555 140.4kb 140.4kb green open .apm-agent-configuration s6HZi32lRGyUzSAI0tZDtg 1 0 0 0 208b 208b green open .kibana_1 kBEv0nnJT5yS_SOyfMJOlQ 1 0 47 6 10.4mb 10.4mb # count indices curl -XGET -u <user_name>:<password> localhost:9200/_cat/indices | wc -l % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 768 100 768 0 0 8726 0 --:--:-- --:--:-- --:--:-- 8827 8
Yukarıda gördüğümüz gibi bu cluster da 8 adet index varmış.