【发布时间】:2018-03-29 20:49:06
【问题描述】:
我在 Scala 中使用 Elastic Java API 删除文档列表,使用他们的 ID 一次删除一个,目前没有成功。 API 适用于 SearchResponse 等其他调用。
我的代码如下所示:
var deleteResp : DeleteResponse = null
deleteResp = ElasticSearch.getClient()
.prepareDelete(index, type, id)
.get()
同理:
deleteResp = ElasticSearch.getClient()
.prepareDelete(index, type, id)
.execute()
.actionGet()
我还尝试捕获 Elastic 响应以使用它进行调试,但 stdout 中没有显示任何内容。
try{ \ previous code }
catch {
case e: Exception => {
print("Failed deletion", e.getMessage)
e.printStackTrace() }
}
配置:
- 斯卡拉 2.10.6
- 火花 1.6
- 弹性搜索 2.3.2
谢谢
【问题讨论】:
-
你确定你的索引、类型和id吗?你能找到
curl -XGET localhost:9200/index/type/id的文档吗? -
好的,您确定您的客户端已正确连接到您的 ES 服务器?
-
连通性也一样,删除部分其实是代码的最后一步。在此之前,运行多个查询以获取 JSON 响应并轻松处理它们。
-
但是您在
deleteResp中实际上得到了什么样的回应? -
问题是我不知道如何捕获响应,try/catch 块不返回任何 stackTrace,打印 deleteResp var 给出
org.elasticsearch.action.delete.DeleteResponse@5da55732但是当我直接发送 DELETE 命令时感觉它工作正常。
标签: scala elasticsearch elasticsearch-java-api