Elasticsearch Tüm Dizinleri Sil

Elasticsearch Tum Dizinleri Sil



Elasticsearch, ELK Stack'e güç sağlayan ücretsiz, açık kaynaklı bir arama ve analiz motorudur. Elasticsearch, verileri toplamak ve toplamak için Logstash gibi araçları kullanan çeşitli veri ardışık düzenlerine izin verir. Elasticsearch daha sonra sağlanan verileri depolayarak uygulamaların büyük miktarda veriye neredeyse gerçek zamanlı olarak erişmesine, arama yapmasına, sıralamasına ve filtrelemesine olanak tanır. Elasticsearch ayrıca yerleşik araçları kullanarak çeşitli verileri görselleştirmenizi sağlar.

Bu tür özellikler, Elasticseach'i çok miktarda veriyi minimum veya hiç gecikme olmadan aramak ve sıralamak için son derece uygun hale getirir. Bu nedenle, ister bir arama motoru oluşturuyor, ister günlükleri, metrikleri ve diğer metin verilerini analiz ediyor olun, Elasticsearch harika bir seçimdir.







Elasticsearch'ün kalbinde bir dizin bulunur. Dizin, belgeleri Elasticsearch'te depolamaktan sorumlu birime atıfta bulunur. Bir dizin, ilişkisel veritabanları bağlamında bir veritabanına nispeten eşdeğerdir. Örneğin, bir web uygulamasının günlükleri için tüm verileri tutan bir dizine sahip olabilirsiniz.



Tüm veritabanları gibi, kümenizdeki tüm verileri kaldırmanız gereken ve temiz bir sayfa ile başlamanıza izin veren bir senaryoyla karşılaşabilirsiniz.



Bu makale, kümenizdeki tüm dizinleri kaldırmak için Elasticsearch API özelliklerini nasıl kullanacağınızı gösterir.





DİKKAT: Bu makalede kullanılan yöntem ve teknikler veri kaybına yol açacaktır. Bu makaledeki talimatlar nedeniyle oluşabilecek herhangi bir veri kaybından sorumlu değiliz.

Elasticsearch Dizin Sil API'si

Elasticsearch'ü başlatıyorsanız, temel API çağrılarını nasıl gerçekleştireceğinizi bilmeniz gerekir. Bunun nedeni, Elasticsearch'ün API'leri maksimum düzeyde kullanmasıdır.



Tahmin edebileceğiniz gibi, bir kümeden bir dizini kaldırmak için Dizin Sil API'sini kullanıyoruz. Dizin silme isteklerinin sözdizimi gösterildiği gibidir:

SİLMEK /< dizin >


İstek, belirtilen dizini ve depolanan belgeleri, parçaları ve tüm meta verilerini kaldırır.

Bunun, veri görünümleri vb. gibi belirtilen dizinle ilişkili Kibana bileşenlerini kaldırmayacağını unutmayın.

Virgülle ayırarak tekli veya çoklu indeks belirtebilirsiniz. Örnek bir sözdizimi gösterildiği gibidir:

SİLMEK / dizin_adı
SİLMEK / dizin1, dizin2, dizin3... dizinN


Elasticsearch, bir dizini silerken Dizin takma adını kullanmanızı engeller. Bunun yerine, dizin adını kullanmanız gerekir.

Örnek 1: Elasticsearch Dizini Sil

Aşağıdaki örnek, kümeden mevcut bir dizini kaldırmak için Elasticsearch silme dizini API'sinin nasıl kullanılacağını gösterir:

kıvrılmak -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: raporlama'


Önceki istek, silme API'sine bir DELETE isteği gönderir. Bu, 'kibana_sample_data_logs' adlı dizini kaldırmalıdır.

Ortaya çıkan çıktı gösterildiği gibidir:

{
'kabul edildi' : doğru
}

Örnek 2: Elasticsearch Birden Çok Dizini Silme

Birden fazla indeksi virgülle ayrılmış bir liste olarak geçirerek kaldırabiliriz. Örnek bir sorgu gösterildiği gibidir:

kıvrılmak -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: raporlama'


Önceki komut belirtilen indeksleri siler ve gösterildiği gibi bir mesaj döndürür:

{
'kabul edildi' : doğru
}


Not: Dizin yoksa, Elasticsearch gösterildiği gibi bir hata döndürür:

Örnek 3: Elasticsearch Tüm İndeksleri Sil

Tüm dizinleri bir kümeden kaldırmak için silme dizini API'sindeki _all joker karakterini kullanabiliriz. Silme dizini API'si, varsayılan olarak, istekte joker karakterleri iletmenizi engeller.

action.desctructive_requires_name öğesini false olarak ayarlayarak bunu devre dışı bırakabilirsiniz.

Aşağıdaki sorgu, silme dizini API'sinde joker karakterlerin kullanımını nasıl etkinleştireceğinizi gösterir:

kıvrılmak -XPUT 'localhost:9200 /_cluster/ayarlar' -H 'kbn-xsrf: raporlama' -H 'İçerik Türü: uygulama/json' -d '
{
'geçici': {
'action.structural_requires_name': yanlış
}
}'


NOT: Elasticsearch, geçici küme ayarlarının kullanılmasını önermese de, joker karakterlerin kullanımı gibi yıkıcı küme parametrelerini kalıcı küme ayarı olarak ayarlamaktan kaçının.

Önceki sorgu sonucu şu şekilde döndürmelidir:

{
'kabul edildi' : doğru ,
'ısrarcı' : { } ,
'geçici' : {
'eylem' : {
'yıkıcı_gereksinim_adı' : 'yanlış'
}
}
}


Başarılı olduktan sonra, aşağıdaki komutu çalıştırarak kümedeki tüm dizinleri kaldırabilirsiniz:

kıvrılmak -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: raporlama'

Örnek 4: Elasticsearch Belirli Adlarla Eşleşen Tüm Dizinleri Sil

Belirli bir modelle eşleşen tüm indeksleri kaldırmak isterseniz, bir joker karakter (*) kullanabilirsiniz.

Örneğin kibana ismiyle başlayan tüm indeksleri kaldırmak için aşağıdaki sorguyu çalıştırabiliriz:

kıvrılmak -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: raporlama'


Önceki istek kibana ile başlayan tüm indeksleri kaldırır.

NOT: Önceki istek, joker karakterlerin kullanılmasını gerektirir. Bu nedenle, önceki bölümde gösterildiği gibi joker karakter desteğini etkinleştirmelisiniz.

Çözüm

Bu kılavuz size Elasticsearch silme dizini API'sini nasıl kullanacağınızı öğretti. Ayrıca kümenizde joker karakter desteğini nasıl etkinleştireceğinizi, tüm dizinleri nasıl kaldıracağınızı ve belirli bir modelle eşleşen dizinleri nasıl kaldıracağınızı da öğrendiniz.