Neyse ki Elasticsearch ile veriler gereksiz hale geldiğinde, tek yapmanız gereken istekleri gerçekleştirmek ve ağ üzerinden veri aktarmak için bir araca erişmek.
Bu hızlı kılavuz, belgeleri ve dizinleri silmek için güçlü Elasticsearch API'sinin nasıl kullanılacağını gösterecektir.
NOT: Sisteminizde Elasticsearch'ün çalıştığını ve cURL gibi isteklerde bulunmak için bir aracınız olduğunu varsayıyoruz. Kibana Konsolunu kullanıyorsanız ham Kibana istekleri de sağlarız (önerilir).
Dizin Nasıl Listelenir?
Elasticsearch'te silmek ve indekslemek istiyorsanız, SİL isteğini göndermeden önce var olduğunu doğrulamanız gerekir.
Var olmayan bir dizini silmeye çalışırsanız, aşağıda gösterilene benzer bir hata alırsınız:
SİL /this_index_does_not_existcURL komutu için:
curl -XDELETE “http://localhost:9200/this_index_does_not_exist”Bir dizini silmek şu şekilde bir hata verecektir:
"hata" :
"ana neden" : [
"type" : "index_not_found_exception",
"reason" : "böyle bir dizin yok [this_index_does_not_exist]",
"index_uuid": "_na_",
"kaynak.type" : "index_or_alias",
"kaynak.id" : "this_index_does_not_exist",
"index": "this_index_does_not_exist"
],
"type" : "index_not_found_exception",
"reason" : "böyle bir dizin yok [this_index_does_not_exist]",
"index_uuid": "_na_",
"kaynak.type" : "index_or_alias",
"kaynak.id" : "this_index_does_not_exist",
"index": "this_index_does_not_exist"
,
"durum" : 404
Bir indeksin var olup olmadığını kontrol etmenin çeşitli yolları vardır; en iyisi adını listelemek. Örneğin, belirli bir adla eşleşmek için joker karakterler kullanabilirsiniz.
Aşağıdaki örnek istek, te* adlarına sahip endeksleri listeler
GET /te*cURL komutu:
curl -XGET “http://localhost:9200/te*”Bu komut, o belirli kalıpla eşleşen tüm dizinleri döndürerek, kaldırmak istediğiniz dizinin yalnızca kısmi adını hatırlamanıza izin vermelidir.
"temp" :
"takma adlar": ,
"eşlemeler" : ,
"ayarlar":
"indeks":
"yönlendirme":
"tahsis" :
"Dahil etmek" :
"_tier_preference": "data_content"
,
"number_of_shards" : "1",
"sağlanan_adı": "geçici",
"creation_date": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"sürüm":
"yaratıldı": "7100299"
,
"temp_1":
"takma adlar": ,
"eşlemeler" : ,
"ayarlar":
"dizin":
"yönlendirme":
"tahsis" :
"Dahil etmek" :
"_tier_preference": "data_content"
,
"number_of_shards" : "1",
"sağlanan_adı": "temp_1",
"creation_date": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"sürüm":
"yaratıldı": "7100299"
,
"temp_2":
"takma adlar": ,
"eşlemeler" : ,
"ayarlar":
"indeks":
"yönlendirme":
"tahsis" :
"Dahil etmek" :
"_tier_preference": "data_content"
,
"number_of_shards" : "1",
"sağlanan_adı": "temp_2",
"creation_date": "1611180815041",
"number_of_replicas" : "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"sürüm":
"yaratıldı": "7100299"
Başka bir yol, isteğe yoksay_unavailable parametresini eklemektir. Örneğin:
SİL /ignore_me?yoksay_unavailable=truecURL kullanıcıları için:
[cc lang="text" width="100%" height="100%" escaped="true" theme="blackboard" nowrap="0"]
curl -XDELETE “http://localhost:9200/ignore_me?yoksay_unavailable=true"
Nasıl Silinir dizin?
Elasticsearch'ten kaldırmak istediğiniz dizine sahip olduğunuzda, dizin adının ardından DELETE isteğini kullanın.
Genel sözdizimi şöyledir:
SİL /Dizin adı, belirli bir dizin veya bir dizi dizin seçen bir joker karakter olabilir. Joker karakterleri doğru kullandığınızdan emin olun; aksi takdirde yanlış dizinleri kaldırabilirsiniz.
NOT: Takma adlar kullanarak Elasticsearch dizinlerinin silinmesine izin verilmiyor.
Aşağıdaki temp_1 dizinini kaldıran örnek isteği göz önünde bulundurun:
SİL /temp_1cURL komutu için:
curl -XDELETE “http://localhost:9200/temp_1”Bu komutun yürütülmesi, dizinin başarılı bir şekilde kaldırıldığını belirten bir JSON nesnesiyle yanıt vermelidir.
"onaylandı": doğru
Elasticsearch, dizinleri yanlışlıkla kaldırabileceğinizi bilecek kadar akıllıdır. Bu nedenle, hangi tür joker karakter ifadelerine izin verileceğini ayarlayabilirsiniz.
Bu tür joker karakter ifadeleri şunları içerir:
- Herşey: Açık, kapalı ve gizli (ile başlayan) dahil tüm endeksleri içerir
- Açık: Yalnızca açık endeksleri içerir
- Kapalı: Yalnızca kapalı endeksleri içerir
- Yok: Joker karakter ifadelerine izin verilmez.
Sonuç
Bu hızlı ve basit kılavuzda, kümeden dizinleri silmek için Elasticsearch kullanma sürecini ele aldık. Ayrıca var olmayan indeksler için hatalardan kaçınmak için uygulayabileceğiniz basit yolları da tartıştık.
Okuduğunuz için teşekkürler.