timestring
This setting must be a valid Python strftime string. It is used to match and extract the timestamp in an index or snapshot name.
The identifiers that Curator currently recognizes include:
| Unit | Value | Note |
|---|---|---|
%Y |
4 digit year | |
%G |
4 digit year | use instead of %Y when doing ISO Week calculations |
%y |
2 digit year | |
%m |
2 digit month | |
%W |
2 digit week of the year | |
%V |
2 digit week of the year | use instead of %W when doing ISO Week calculations |
%d |
2 digit day of the month | |
%H |
2 digit hour | 24 hour notation |
%M |
2 digit minute | |
%S |
2 digit second | |
%j |
3 digit day of the year |
These identifiers may be combined with each other, and/or separated from each other with hyphens -, periods ., underscores _, or other characters valid in an index name.
Each identifier must be preceded by a % character in the timestring. For example, an index like index-2016.04.01 would use a timestring of '%Y.%m.%d'.
When source is name, this setting must be set by the user or an exception will be raised, and execution will halt. There is no default value.
Timestrings are parsed from strftime patterns, like %Y.%m.%d, into regular expressions. For example, %Y is 4 digits, so the regular expression for that looks like \d{{4}}, and %m is 2 digits, so the regular expression is \d{{2}}.
What this means is that a simple timestring to match year and month, %Y.%m will result in a regular expression like this: ^.*\d{{4}}\.\d{{2}}.*$. This pattern will match any 4 digits, followed by a period ., followed by 2 digits, occurring anywhere in the index name. This means it will match monthly indices, like index-2016.12, as well as daily indices, like index-2017.04.01, which may not be the intended behavior.
To compensate for this, when selecting indices matching a subset of another pattern, use a second filter with exclude set to True
- filtertype: pattern
kind: timestring
value: '%Y.%m'
- filtertype: pattern
kind: timestring
value: '%Y.%m.%d'
exclude: True
This will prevent the %Y.%m pattern from matching the %Y.%m part of the daily indices.
This applies whether using timestring as a mere pattern match, or as part of date calculations.