java - ElasticSearch 5.4.1 Java API : Error in updateResponse. getResult() 为空,

标签 java elasticsearch

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

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

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

enter image description here

最佳答案

有点老了,但是有 this ES“论坛”中的文章。

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

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

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

关于java - ElasticSearch 5.4.1 Java API : Error in updateResponse. getResult() 为空,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345728/

相关文章:

node.js - 使用 Node 流时内存不足

java - 正则表达式不适用于单个字符

java - 关于 CXF、JAX-RS webservice 的请求和 session 的问题

sql - Elasticsearchj存在和不存在的实现

elasticsearch - 获取每天发生的日期直方图

python - Elasticsearch 查询在 Python 中使用 httplib 给出 "No handler for uri"

java密码字段: dot code

java - 如何在 Spring Boot 中访问 application.properties 文件中定义的值

java - int 不能解引用编译错误

elasticsearch - 格式错误的查询,预期为 END_OBJECT,但在 Kibana( Elasticsearch )中发现了 FIELD_NAME 错误