gpt4 book ai didi

regex - 如何在 Curator 过滤器上使用贪婪的正则表达式?

转载 作者:行者123 更新时间:2023-11-29 02:55:59 36 4
gpt4 key购买 nike

我已将 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/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com