2017-06-13 60 views
0
{ 
"_index": "user:1494813192000", 
"_type": "fruits", 
"_id": "pbyac5r88-yghe-v1ez-cpgb-sqdjipr54alzgj/tp4oqalbd-bo2v-ikj1-atfq-wezcoeeuf6wiqpt/apple", 
"_score": 1, 
"_routing": "pbyac5r88-yghe-v1ez-cpgb-sqdjipr54alzgj", 
"_source": { 
"numCal": 442, 
"eventTime": 1497315192000, 
"fruitName": "apple" 
} 

這就是我的elasticsearch中的索引。 eventTime是以ms爲單位的當前時間。我想使用該字段刪除我的指數使用館長。根據非日期類型的字段刪除超過30天或更長時間的索引的策劃者

這是我ACTION_FILE.YML看起來像

actions: 
    1: 
    action: delete_indices 
    description: >- 
     Delete indices older than 45 days (based on index name), for logstash- 
     prefixed indices. Ignore the error if the filter does not result in an 
     actionable list of indices (ignore_empty_list) and exit cleanly. 
    options: 
     ignore_empty_list: True 
     timeout_override: 
     continue_if_exception: False 
     disable_action: False 
    filters: 
    - filtertype: age 
     source: field_stats 
     field: 'eventTime' 
     direction: older 
     unit: days 
     unit_count: 30 
     exclude: 

不館長支持刪除基於不在數據格式字段?

回答

0

我原本回答了這個問題here,但也包括在這裏。

日期和時間比較在策展人的基礎上工作時間。由於Elasticsearch將日期條目內部存儲爲時期值,這就是爲什麼在使用field_stats進行比較時,通常需要使用存儲爲日期戳的字段。但是,如果在Elasticsearch中正確映射爲long並且存儲時期或時期加毫秒(但不是十進制)的場紀元時間,它應該可以很好地適用於field_stats

作爲參考,演示此原則的代碼是here

相關問題