Elasticsearch策展人删除整个索引而不是旧文档

问题描述

我有一个包含1年数据的索引。 我想删除较旧的数据并保留最近60天。

我尝试了delete_query,它似乎可以正常工作,但是非常耗时。

似乎“策展人”是做到这一点的最好方法

因此,我进行了此配置:

actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 60 days.
    options:
      ignore_empty_list: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: myindex*
    - filtertype: age
      source: field_stats
      direction: older
      unit: days
      unit_count: 60
      field: '@timestamp'
      stats_result: min_value

并使用策展人cli启动它。

版本:策展人5.8和elasticsearch 6.5

结果不是预期的!

如果有60天以上的数据,则将删除WHOLE索引,而不是仅删除60天以上的数据。 你能帮我吗?

解决方法

Curator仅删除整个索引。从一开始就是如此。您有两种选择:坚持按查询删除,或者将数据拆分为多个索引,以使它们随着时间的推移以块(整个索引)的形式过期。由于翻转索引由单个别名支持,因此您的搜索仍将看到整个数据集(使用别名进行搜索时)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...