【发布时间】:2018-06-20 04:30:35
【问题描述】:
删除仍在进行,但服务器抛出异常,因为它花费的时间太长。在服务器端处理这个问题的最佳方法是什么?
delete_by_query api 文档说它将返回一个任务,以便我可以跟踪删除进度。
如果请求包含 wait_for_completion=false,则 Elasticsearch 将执行一些预检检查,启动请求,然后返回一个任务,该任务可与 Tasks API 一起使用以取消或获取任务的状态。 Elasticsearch 还将在 .tasks/task/${taskId} 中创建此任务的记录作为文档。这是您认为合适的保留或删除。完成后,将其删除,以便 Elasticsearch 可以回收它使用的空间。
如何获取此任务 ID?它不在 HTTP 响应中,在超时场景中,甚至可能没有 HTTP 响应。
GET _tasks?detailed=true&actions=*/delete/byquery 将返回一个删除任务列表,但我只想要一个任务。如果有两个任务正在运行,我怎么知道我正在寻找哪一个?
谢谢。
【问题讨论】:
标签: elasticsearch