elasticsearch 弹性搜索don';t return“;deletebyquery";查询任务列表时的任务,elasticsearch,elasticsearch" /> elasticsearch 弹性搜索don';t return“;deletebyquery";查询任务列表时的任务,elasticsearch,elasticsearch" />

elasticsearch 弹性搜索don';t return“;deletebyquery";查询任务列表时的任务

elasticsearch 弹性搜索don';t return“;deletebyquery";查询任务列表时的任务,elasticsearch,elasticsearch,我正在使用ElasticSearch 7.1.1并使用delete_by_查询API异步删除所需文档。结果,该查询返回给我任务id。当我执行下一个查询时: GET {elasticsearch_cluster_url}/_tasks/{taskId} 我能为这项任务得到相应的文件。但当我尝试执行这样的查询时: GET {elasticsearch_cluster_url}/_tasks?detailed=true&actions=*/delete/byquery GET {elast

我正在使用ElasticSearch 7.1.1并使用delete_by_查询API异步删除所需文档。结果,该查询返回给我任务id。当我执行下一个查询时:

GET {elasticsearch_cluster_url}/_tasks/{taskId}
我能为这项任务得到相应的文件。但当我尝试执行这样的查询时:

GET {elasticsearch_cluster_url}/_tasks?detailed=true&actions=*/delete/byquery
GET {elasticsearch_cluster_url}/_tasks
我在结果列表中没有看到我的任务

我还尝试执行这样的查询:

GET {elasticsearch_cluster_url}/_tasks?detailed=true&actions=*/delete/byquery
GET {elasticsearch_cluster_url}/_tasks
我得到了这样的回应:

{
    "nodes": {
        "hWZQF7w_Rs6_ZRDZkGpSwQ": {
            "name": "0d5027c3ae6f0bb0105dcdb04470af43",
            "roles": [
                "master"
                ,
                "data"
                ,
                "ingest"
            ],
            "tasks": {
                "hWZQF7w_Rs6_ZRDZkGpSwQ:194259297": {
                    "node": "hWZQF7w_Rs6_ZRDZkGpSwQ",
                    "id": 194259297,
                    "type": "transport",
                    "action": "cluster:monitor/tasks/lists",
                    "start_time_in_millis": 1596710876682,
                    "running_time_in_nanos": 214507,
                    "cancellable": false,
                    "headers": { }
                },
                "hWZQF7w_Rs6_ZRDZkGpSwQ:194259298": {
                    "node": "hWZQF7w_Rs6_ZRDZkGpSwQ",
                    "id": 194259298,
                    "type": "direct",
                    "action": "cluster:monitor/tasks/lists[n]",
                    "start_time_in_millis": 1596710876682,
                    "running_time_in_nanos": 84696,
                    "cancellable": false,
                    "parent_task_id": "hWZQF7w_Rs6_ZRDZkGlDwQ:194259297",
                    "headers": { }
                }
            }
        }
    }
}

我不确定,也许该查询只从接受该查询的集群节点返回任务?为什么我的任务在最后一个查询中丢失了?“我的查询参数”中是否有错误?

如果您的“按查询删除”调用非常短暂,则在查询运行后,您将无法在
\u tasks
中看到它

如果您想保留通话记录,您需要在通话中添加
?wait_for_completion=false

当查询运行时,您将使用
GET\u tasks
查看它,但是,当查询运行完毕后,您将不再使用
GET\u tasks
查看它,而是使用
GET.tasks/\u search
查看它


在它完成运行并且您指定了
wait\u for_completion=false
之后,您可以使用
GET.tasks/task/

查看已完成任务的详细信息。您是否可以尝试
*byquery
而不是
*/delete/byquery
,但是也无法得到我的任务的响应。您能显示从
get\u tasks
得到的完整响应吗?@Val我使用了这样的查询:get{es\u url}/\u tasks/?detailed=true&actions=*byquery。我将向postNo添加响应just
GET\u tasks
请使用'wait\u for\u completion=false',我可以使用'GET.tasks/task/'获取任务,但是我可以通过'deletebyquery'操作类型获取所有此类任务的列表吗?我最初的问题是,如果您能够获取
get.tasks/task/
,这意味着任务已经完成,因此它将不再使用
get\u tasks
显示。您可以使用
GET\u tasks?actions=*byquery&detailed
捕捉它们,只在它们运行时进行。谢谢您的澄清,它帮助我找到了如何用另一种方式完成我想要的任务:)酷,很高兴它有帮助!