弹性搜索 rename_pattern

Elasticsearch rename_pattern

我需要使用 rename_pattern 和 rename_replacement 从快照恢复索引。有人可以帮我做图案和更换吗?

假设我的输入索引名称是:"abc_def_r22_0" 我希望它恢复为 "abc_def_r44_0"

NUM="44"
 POST /_snapshot/my_backup/snapshot_1/_restore
{
 "indices": "abc_def_r22_0",
 "ignore_unavailable": "true",
 "include_global_state": false,
 "rename_pattern": "\d\d",
 "rename_replacement": "'$NUM'_0"
 }

您可以使用

_r[0-9]+_

并替换为 _r$NUM_.

_r[0-9]+_会匹配_r,1个或多个数字,和一个_,所以你需要用_r替换它,然后是一个新的数字和_.

参见regex demo