尝试在 elasticsearch 中重命名嵌套对象名称时出错
Error when trying to rename a nested object name in elasticsearch
我正在尝试重命名这种形状的数据:
使用这个:
POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
"doc" : {
"Customer ImpactedNested" : "CustomerImpactedNested"
}
}
但我得到:
"type": "mapper_parsing_exception",
"reason": "object mapping for [Customer ImpactedNested] tried to parse field [Customer ImpactedNested] as object, but found a concrete value"
我已确认 Customer ImpactedNested 的类型是嵌套的。我在网上看到有关人们收到此错误的信息,但在尝试重命名时却没有看到,也没有看到任何解决方案。我看到一篇文章指出,当新名称与现有名称冲突时会发生这种情况。因此,尝试重命名为 CustomerImpactedNested11111 作为测试(确保是唯一的),但结果相同。
任何想法都会很棒!
实际上有两个问题。
- 您的查询没有重命名字段。
- 重命名嵌套字段
问题的以下行中实际发生了什么:
POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
"doc" : {
"Customer ImpactedNested" : "CustomerImpactedNested"
}
}
它将 column=Customer ImpactedNested
的 列值 更新为 ID 为 2020-06-15T22:23:00Z_-1344027716
.
的 CustomerImpactedNested
文档
并且 Customer ImpactedNested
是一个嵌套对象,您正试图将 string
值设置为嵌套对象字段。因此你得到了错误。 Refer this
对于您原来的问题,您需要通过 reindex
来完成。 Refer this, this also
POST _reindex
{
"source": {
"index": "r_xair_signals-2020-06"
},
"dest": {
"index": "<some_new_index_name>"
},
"script": {
"inline": """ctx._source['CustomerImpactedNested'] = ctx._source.remove("Customer ImpactedNested")"""
}
}
请尝试上面的查询,如果有错误请告诉我,因为我没有尝试上面的查询。
我正在尝试重命名这种形状的数据:
使用这个:
POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
"doc" : {
"Customer ImpactedNested" : "CustomerImpactedNested"
}
}
但我得到:
"type": "mapper_parsing_exception",
"reason": "object mapping for [Customer ImpactedNested] tried to parse field [Customer ImpactedNested] as object, but found a concrete value"
我已确认 Customer ImpactedNested 的类型是嵌套的。我在网上看到有关人们收到此错误的信息,但在尝试重命名时却没有看到,也没有看到任何解决方案。我看到一篇文章指出,当新名称与现有名称冲突时会发生这种情况。因此,尝试重命名为 CustomerImpactedNested11111 作为测试(确保是唯一的),但结果相同。
任何想法都会很棒!
实际上有两个问题。
- 您的查询没有重命名字段。
- 重命名嵌套字段
问题的以下行中实际发生了什么:
POST r_xair_signals-2020-06/_update/2020-06-15T22:23:00Z_-1344027716
{
"doc" : {
"Customer ImpactedNested" : "CustomerImpactedNested"
}
}
它将 column=Customer ImpactedNested
的 列值 更新为 ID 为 2020-06-15T22:23:00Z_-1344027716
.
CustomerImpactedNested
文档
并且 Customer ImpactedNested
是一个嵌套对象,您正试图将 string
值设置为嵌套对象字段。因此你得到了错误。 Refer this
对于您原来的问题,您需要通过 reindex
来完成。 Refer this, this also
POST _reindex
{
"source": {
"index": "r_xair_signals-2020-06"
},
"dest": {
"index": "<some_new_index_name>"
},
"script": {
"inline": """ctx._source['CustomerImpactedNested'] = ctx._source.remove("Customer ImpactedNested")"""
}
}
请尝试上面的查询,如果有错误请告诉我,因为我没有尝试上面的查询。