【问题标题】:trying to pass params to elasticsearch getting null_pointer_exception试图将参数传递给elasticsearch得到null_pointer_exception
【发布时间】:2019-01-08 02:43:43
【问题描述】:

我正在尝试向 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 这个问题但不包含解决方案。在堆栈溢出和其他站点。

【问题讨论】:

  • 看起来 params 是字段和其他东西的集合,您可以像这样访问您的数据params._fields['fieldName'].value
  • 测试一下。
  • params._fields 仍然给我空指针异常
  • 好吧,你能不能给我一组映射/数据..我会尽力调查你的问题
  • 感谢@Yanis-git 等不及了。

标签: javascript elasticsearch elasticsearch-painless


【解决方案1】:

在弹性论坛上提问。参数不在脚本中。

【讨论】:

  • 链接到主题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 2021-05-25
  • 2015-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多