timestring
编辑timestring
编辑strftime
编辑此设置必须是有效的 Python strftime 字符串。它用于匹配和提取索引或快照名称中的时间戳。
Curator 当前识别的标识符包括
单位 | 值 | 说明 |
---|---|---|
|
4 位年份 |
|
|
4 位年份 |
在进行 ISO 周计算时,请使用它代替 |
|
2 位年份 |
|
|
2 位月份 |
|
|
2 位一年中的第几周 |
|
|
2 位一年中的第几周 |
在进行 ISO 周计算时,请使用它代替 |
|
2 位一个月中的第几天 |
|
|
2 位小时 |
24 小时制 |
|
2 位分钟 |
|
|
2 位秒 |
|
|
3 位一年中的第几天 |
这些标识符可以相互组合,也可以用连字符 -
、句点 .
、下划线 _
或索引名称中有效的其他字符分隔。
每个标识符必须以 %
字符开头,例如,index-2016.04.01
这样的索引将使用 '%Y.%m.%d'
的 timestring。
当 source 为 name
时,此设置必须由用户设置,否则将引发异常并停止执行。没有默认值。
关于使用 timestring 进行正则表达式匹配的说明
Timestring 从 strftime 模式(如 %Y.%m.%d
)解析为正则表达式。例如,%Y
是 4 位数字,因此该模式的正则表达式类似于 \d{4}
,而 %m
是 2 位数字,因此正则表达式为 \d{2}
。
这意味着用于匹配年份和月份的简单 timestring,%Y.%m
将生成如下正则表达式:^.*\d{4}\.\d{2}.*$
。此模式将匹配任何 4 位数字,后跟句点 .
,后跟 2 位数字,出现在索引名称的任何位置。这意味着它*将*匹配每月索引,如 index-2016.12
,以及每日索引,如 index-2017.04.01
,这可能不是预期的行为。
为了弥补这一点,在选择与另一个模式的子集匹配的索引时,请使用第二个筛选器,并将 exclude
设置为 True
- filtertype: pattern kind: timestring value: '%Y.%m' - filtertype: pattern kind: timestring value: '%Y.%m.%d' exclude: True
这将防止 %Y.%m
模式匹配每日索引的 %Y.%m
部分。
这适用于将 timestring
作为单纯的模式匹配还是作为日期计算的一部分。