2016-03-29 21 views
3

30 günden eski olan elasticsearch dizinimdeki belgeleri silmek istiyorum.elasticsearch içinde 30 günden eski belgeleri silme

Herhangi bir fikrin var mı?

DÜZENLEME:

Bunun otomatik olmasını istiyorum - benim endeksinde hiçbir belge 30 günden eski shoudl. Bu yüzden, bence, iki seçenek var: küratör veya DELETE isteklerini kullanarak.

İkisini de denedim ama başarısız oldum. Bir şekilde, DELETE http deyimini kullanırken 30 günden eski tüm belgeleri filtreleyen ve bunları silen bir süzgeç oluşturmak zorundayım.

Küratörle çalıştım ama küratör (bunu anladığım kadarıyla) sadece tüm endeksleri siler. Küratörü ile 30 günden eski indeksleri silmeye çalışırken, zaman damgam hatalara neden oluyor. moment.js modelinde bu "MMMM Do YYYY, HH:mm:ss.SSS" gibi görünüyor.

DÜZENLEME 2:

elasticsearch 
    { 
    hosts => ["http://localhost:9200"] 
    index => "logstash-%{type}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    } 

Yani logstash her tür ve her gün belirli bir dizin için oluşturur: benim logstash yapılandırmaya aşağıdaki eklendi. Artık belirli bir tarihten daha eski olan indeksleri silmek için küratör kullanabilirim.

Sorun çözüldü imho.

+0

Evet. Birkaç. Ne denedin? – evanv

+0

Tek seferlik operasyon mu? Son kullanma süresini ayarlamak ister misiniz? – Rahul

cevap

3

Eğer (günlük, haftalık, vs) periyodik dizin varsa, curator kullanın.

İlgili konular