过滤器中的 "source:name" 是什么意思?

What does "source:name" in filter means?

我这几天一直在研究策展人,我遇到了这种过滤器类型"age"。 在官方文档中,它被写为基于名称的年龄过滤器在索引或快照名称中查找时间字符串,并将其转换为纪元时间戳。 我不太清楚。

如果我提到

source: name

策展人"name"指的是什么? 它是否指任何特定索引的名称?如果是,我如何提及该索引的名称?

如果有人向我推荐更多关于 curator 的文档,那将非常有帮助。 提前致谢^^

是的,source: name 读取索引名称并查找匹配 timestring 的 time/date 值。例如,如果您有一个名为 indexname-2019.06.01 的索引,您可以像这样构建一个过滤器:

- filtertype: age
  source: name
  timestring: ‘%Y.%m.%d’
  unit: days
  unit_count: 30
  direction: older

这个过滤器(如果不跟随列表中的其他过滤器)将在 Elasticsearch 中查看 all 索引的名称以寻找 Year.month.day 模式,将其转换为纪元时间戳,并查看该日期是否大于 30 days older 执行 Curator 时的纪元时间戳。如果是这样,该索引名称将保留在可操作列表中以执行与过滤器关联的任何操作。

现在,这本身就是一个危险的过滤器。它将匹配 indexname-2019.06.012019.06.01-anything 甚至 prefix-2019.06.01-suffix。 Curator 中的过滤器被设计成一条链。要指定您希望 Curator 考虑哪些索引,明智的做法是在 age 过滤器之前执行 pattern 过滤器:

- filtertype: pattern
  kind: prefix
  value: indexname
- filtertype: age
  source: name
  timestring: ‘%Y.%m.%d’
  unit: days
  unit_count: 30
  direction: older

现在这个过滤器列表将只查找以 indexname 开头的索引,然后是 Year.month.day 时间字符串。 Curator 中的过滤器始终以 AND 运算组合在一起。

Curator 官方文档是 Curator 一切事物的最终真相来源。如果您有进一步的解释要求,我很乐意回答他们(完全披露:我是 Curator 的作者和维护者)。