【问题标题】:ElasticSearch API - update by query script params null_pointer_exceptionElasticSearch API - 通过查询脚本参数更新 null_pointer_exception
【发布时间】:2021-08-03 22:37:22
【问题描述】:

我是 ElasticSearch 的新手,我是否正在尝试使用 _update_by_query 路由。我正在发送此正文:

{
"query": {
    "match": {
        "id": "fdfsfsfs-058f-437d-bc52-473808ba61c2"
    }
},
"script": {
    "inline": "ctx._source.addresses.add(params.data)",
    "params": {
        "data": {
            "street": "Road",
            "number": 15,
            "county": "WWW"
        }
    }
}

}

但我得到以下回复:

{
"error": {
    "root_cause": [
        {
            "type": "script_exception",
            "reason": "runtime error",
            "script_stack": [
                "ctx._source.addresses.add(params.data)",
                "                                ^---- HERE"
            ],
            "script": "ctx._source.addresses.add(params.data)",
            "lang": "painless",
            "position": {
                "offset": 30,
                "start": 0,
                "end": 36
            }
        }
    ],
    "type": "script_exception",
    "reason": "runtime error",
    "script_stack": [
        "ctx._source.addresses.add(params.data)",
        "                              ^---- HERE"
    ],
    "script": "ctx._source.addresses.add(params.data)",
    "lang": "painless",
    "position": {
        "offset": 30,
        "start": 0,
        "end": 36
    },
    "caused_by": {
        "type": "null_pointer_exception",
        "reason": null
    }
},
"status": 400

}

我不知道可能是什么错误,因为我确实传递了我的参数并且它们位于“脚本”对象中。有谁知道可能出了什么问题?

非常感谢您!

【问题讨论】:

  • 您确定您的文档fdfsfsfs-058f-437d-bc52-473808ba61c2 有一个名为addresses 的字段不为空吗?
  • 嗨@Val,是的,我是,我查过了。
  • 有多少文档与您的查询匹配?我敢打赌,不止一个,因为您使用的是match 而不是term
  • 你是对的@Val!非常感谢!切换到“术语”解决了我的问题。

标签: elasticsearch elasticsearch-api


【解决方案1】:

我认为match 查询实际上匹配了多个文档,其中一个没有任何名为addresses 的字段。

您可能需要更改为 term 查询才能进行完全匹配,并且只选择您要更新的单个文档。

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 2021-10-24
    • 2017-09-06
    • 2017-08-18
    相关资源
    最近更新 更多