Pratik Bilgiler ve Pratik Komutlar: Elasticsearch

Merhabalar. Serinin bu yazısındaki ipuçları Elasticsearch ile ilgili olacak.

  1. Elasticsearch ile adres satırından nasıl sorgulama yapılır?
  2. Elasticsearch ile adres satırı sorguları nasıl pretty yazdırılır?
  3. Elasticsearch index listeleme
  4. Elasticsearch truncate index, delete all documents from Elasticsearch index
  5. Elasticsearch üzerinde SQL kullanabilir miyiz? Nasıl?
  6. Elasticsearch’te mevcut index’e bir alan eklemek: Adding a field on existing index on Elasticsearch
  7. Elasticsearch index içinde kaç doküman var – document count in an index
  8. Elasticsearch cluster administration ve security ile ilgili güzel kaynaklar
  9. Elasticsearch’te authentication ve encryption gibi temel güvenlik özellikleri için lisans bedeli ödemem gerekir mi?
  10. Elasticsearch Upgrade Stratejileri
  11. 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:

Administration:

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ış.

Yazar Hakkında
Toplam 177 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara