背景:
elasticsearch version 6.2
curator version 5.4.1.
现在我可以使用curator来删除一个订购7天的索引,但是我有多个索引而且我不想创建多个action.yml,例如:
actions:
1:
action: delete_indices
description: >-
Delete indices older than 7 days (based on index name), for student-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
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: student=
- filtertype: age
source: name
direction: older
timestring: '%Y-%m-%d'
unit: days
unit_count: 7
根据此action.yml,删除student = 2017-XX-XX。 但我有很多指数,如老师,家长等。 我将studnet =替换为* =但不起作用。
那我该怎么办? 非常感谢你。
答案 0 :(得分:0)
你尝试了一些事情。一些例子包括:
pattern
过滤类型,只保留age
。但是,这可能会删除具有%Y-%m-%d
模式的其他索引。在这种情况下,您可以使用不同的pattern
过滤器,但要使用exclude模式,您不想删除:
- filtertype: pattern
kind: prefix
value: omit_me
exclude: true
使用此pattern
过滤器替换将删除%Y-%m-%d
超过7天的所有索引,除以omit_me
开头的索引。< / LI>
regex
而不是prefix
。例如:
- filtertype: pattern
kind: regex
value: '^(student|parent|teacher).*$'
这将匹配以student
,parent
或teacher
开头的索引。