elasticsearch Request Body Search 中设置timeout 怎么没有作用?timeout参数可能无法完全停止搜索操作那如何才能够停止搜索操作? cancel取消的话怎么才能够获取task id?
在Elasticsearch的Request Body Search中,设置timeout参数可能无法完全停止搜索操作。这是因为timeout参数只是设置了搜索操作的超时时间,但并不会中断搜索操作。如果想要停止搜索操作,可以使用cancel API来取消该操作。
要获取任务的ID,可以使用_task API,并通过传递cancel参数来取消搜索操作。具体步骤如下:
- 发送搜索请求时,使用
request_timeout参数来设置搜索操作的超时时间。例如:
POST /my-index/_search
{
"query": {
"match_all": {}
},
"request_timeout": "1m" // 设置超时时间为1分钟
}
- 如果想要取消搜索操作,可以通过_task API来获取任务的ID。例如:
GET /_tasks?detailed=true&actions=*search
这个请求将返回所有正在运行的搜索任务的相关信息,包括任务的ID。
- 获取到任务的ID后,可以使用cancel API来取消搜索操作。例如:
POST /_tasks/{task_id}/_cancel
请将{task_id}替换为实际的任务ID。
通过以上步骤,您可以在Elasticsearch中停止搜索操作,并获取任务的ID
原文地址: https://www.cveoy.top/t/topic/ilAy 著作权归作者所有。请勿转载和采集!