繁体   English   中英

在elasticsearch中重新索引期间,小写索引中的所有字段

[英]Lowercase all fields in an index during reindexing in elasticsearch

我想重新索引索引,在此过程中我想要小写所有字段的值。 有什么方法可以做到这一点。

目前我已经查看了摄取管道,但是在其中你必须命名每个需要转换为小写的字段。

{
  "lowercase": {
    "field": "foo"
  }
}

我想要一些可以小写所有字段值的东西,而不需要提到字段的名称。

我建议在调用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"
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM