我想重新索引索引,在此过程中我想要小写所有字段的值。 有什么方法可以做到这一点。
目前我已经查看了摄取管道,但是在其中你必须命名每个需要转换为小写字段的字段。
{
"lowercase": {
"field": "foo"
}
}
我想要的东西可以小写所有字段的值而不需要提及字段的名称。
答案 0 :(得分:3)
我建议在调用Reindex API时使用脚本。在脚本中,您可以遍历所有字段并将其值小写。这样的事情应该有效:
POST _reindex
{
"source": {
"index": "source_index"
},
"dest": {
"index": "target_index"
},
"script": {
"source": "ctx._source.forEach((field, value) -> ctx._source[field] = value?.toLowerCase())}",
"lang": "painless"
}
}