elasticsearch 是否有方法在脚本处理器中访问elastic 8.x上的old _type元数据?

wz3gfoph  于 8个月前  发布在  ElasticSearch
关注(0)|答案(1)|浏览(88)

使用Elasticsearch 8.8
我尝试使用脚本管道重新索引文档,我将旧的_type元数据转换为一个新的字段'@ type',但所有的脚本删除所有的_type和_score字段从源文件。有没有办法获取字符串用于设置新字段?
主要目标是从弹性2.4升级到8
单据示例:

{
  "_index": "foo",
  "_type": "bar",
  "_source": {
  }
}

目标对象:

{
  "_index": "foo",
  "_source": {
    "@type": "bar"
  }
}

尝试类似于:ctx['@type'] = ctx._type将返回“null”,因为_type在运行任何东西之前被删除。有变通办法吗?

vsaztqbk

vsaztqbk1#

据我所知,这是不可能的,因为在ES 8中reindex context不再提供这些信息。在移除Map类型之前,它曾经是up until 6.8的情况。
您需要做的是首先更新2.4源集群中的数据以添加该字段,因为2.4提供了ctx._type information,然后才重新索引到8.9

相关问题