作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 Curator 设置为通过此过滤器删除旧的 Elasticsearch 索引:
(...)
filters:
- filtertype: pattern
kind: regex
value: '^xyz-us-(prod|preprod)-(.*)-'
exclude:
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 7
exclude:
(...)
但是,我意识到 Curator 使用非贪婪正则表达式,因为这个过滤器捕获索引 xyz-us-prod-foo-2018.10.11
而不是 xyz-us-prod- foo-bar-2018.10.11
.
如何修改过滤器以捕获两个索引?
最佳答案
我在 https://discuss.elastic.co/t/use-greedy-regexes-in-curator-filter/154200 给出的答案仍然很好,尽管您不知何故无法获得我发布在那里的结果。锚定结尾并指定日期正则表达式对我有用:'^xyz-us-(prod|preprod)-.*-\d{4}\.\d{2}\.\d{2}$ '
我创建了这些索引:
PUT xyz-us-prod-foo-2018.10.11
PUT xyz-us-prod-foo-bar-2018.10.11
PUT xyz-us-preprod-foo-2018.10.12
PUT xyz-us-preprod-foo-bar-2018.10.12
并使用此配置运行:
---
actions:
1:
action: delete_indices
filters:
- filtertype: pattern
kind: regex
value: '^xyz-us-(prod|preprod)-.*-\d{4}\.\d{2}\.\d{2}$'
exclude:
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 7
结果完全匹配:
2018-10-29 20:08:28,120 INFO curator.utils show_dry_run:928 DRY-RUN: delete_indices: xyz-us-preprod-foo-2018.10.12 with arguments: {}
2018-10-29 20:08:28,120 INFO curator.utils show_dry_run:928 DRY-RUN: delete_indices: xyz-us-preprod-foo-bar-2018.10.12 with arguments: {}
2018-10-29 20:08:28,120 INFO curator.utils show_dry_run:928 DRY-RUN: delete_indices: xyz-us-prod-foo-2018.10.11 with arguments: {}
2018-10-29 20:08:28,120 INFO curator.utils show_dry_run:928 DRY-RUN: delete_indices: xyz-us-prod-foo-bar-2018.10.11 with arguments: {}
关于regex - 如何在 Curator 过滤器上使用贪婪的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53009073/
我是一名优秀的程序员,十分优秀!