ElasticSearch 5.4.1 Java API:updateResponse.getResult() 中的错误为空,

朗多克斯

ElasticSearch 5.4.1 Java API:正确更新但 updateResponse.getResult() 为空,我检查对象并且响应已更新但 getResponse() = null,

换句话说,结果很好,但我可以访问。这是我的代码:

UpdateResponse response = esClient.prepareUpdate(INDEX, TYPE, id).setDoc(jsonPoste).get();

在此处输入图片说明

斯洛莫

它有点旧,但是在 ES 的“论坛”中这篇文章。

显然你必须在请求中指定,如果你想得到一个结果。否则 updateRequest 将只更新并返回 'UPDATED'(或其他代码)作为结果。乍一看,这是有道理的,因为为什么要从硬盘驱动器加载不必要的/未请求的数据。

无论如何,添加.setFetchSource(true)到您的请求应该可以解决问题:

UpdateResponse response = esClient.prepareUpdate(INDEX, TYPE, id)
                          .setDoc(jsonPoste).setFetchSource(true).get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章