试图将参数传递给 elasticsearch 得到 null_pointer_exception

trying to pass params to elasticsearch getting null_pointer_exception

我正在尝试向 Elasticsearch 发送以下查询。这是通过查询进行的最小更新,这给了我例外。让我们将其命名为 Query1:

{ "id": "someID", "script": { "lang": "painless", "source": " if (ctx._source.containsKey('value')) { ctx._source.value = ctx._source.value + params.value; }" }, "params": { "value": 1 }, "upsert": { "value": 1 } }

一段时间以来一直在努力解决这个问题。在我们的例子中,参数值被索引为 integer。它自己的查询作为批量 API 的一部分发送。看起来如下所示:

{update: {_id:"someID", _index:"someIndex", _type:"someType"}} (Query1)

尝试 运行 脚本时会出现 运行 时间异常: null_point_exception

params.value ^--- here

我已经看到 related 个问题,但没有包含解决方案。在堆栈溢出和其他站点中。

elastic 论坛中提问。 params 不在脚本中。