ElasticSearch 5.4.1 Java API:正确更新,但 updateResponse.getResult() 为 null,我检查对象,响应已很好更新,但 getResponse() = null,
换句话说,结果很好,但我可以访问。这是我的代码:
UpdateResponse response = esClient.prepareUpdate(INDEX, TYPE, id).setDoc(jsonPoste).get();
最佳答案
有点老了,但是有 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/