我们有每天晚上运行的管家脚本,从每日指数重新索引到月度指数并删除每日指数
actions:
1:
description: "Reindex application-YYYY.MM.dd into application-YYYY.MM"
action: reindex
options:
disable_action: False
wait_interval: 9
max_wait: -1
request_body:
source:
index: REINDEX_SELECTION
dest:
index: application-2018.10 #change this
filters:
- filtertype: pattern
kind: prefix
value: application-
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 1
2:
action: delete_indices
description: >-
Delete application-%Y.%m.%d indices older than 1 day
options:
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^application-\d{4}\.\d{2}.\d{2}'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 1
我们如何动态制作月度索引名称?我想做这样的应用程序 - %Y。%m而不是硬编码年和月应用程序-2018.10
当我使用application-%Y.%m如下 - 它不起作用。
request_body:
source:
index: REINDEX_SELECTION
dest:
index: application-%Y.%m
答案是在表达式中使用date math。一个有效的例子可能是:
dest:
index: <application-{now/M{YYYY.MM}}>
更大的问题可能是,“你如何确保月份的最后一天不会在下个月的指数中结束?”这种方法绝对会导致这一结果。如果你不在乎,那就没关系。如果您愿意,我们可以讨论可能的解决方案。