例如,我执行一个msearch的查询语句
我第一个想到的是通过taskId来取消任务,首先我否定了通过
我在想是否有某种方法,当执行第一个msearch执行的时候,elasticsearch就返回它的taskId,当第一个任务执行过久,我就可以通过这个taskId进行任务取消?
或者还有什其他的方法实现这个功能吗?
感谢大佬们的解答。
GET .kibana-event*/_msearch
{ }
{"query" : {"match" : { "message": "this is a test"}}}
{"index": ".kibana-event*"}
{"query" : {"match_all" : {}}}
假如第一个msearch语句会执行非常久的时间,在它处于执行过程中的时候,我继续执行第二个msearch的查询语句GET .kibana-event*/_msearch
{}
{"query" : {"match_all" : {}}, "from" : 0, "size" : 10}
{"index" : ".kibana-event*", "search_type" : "dfs_query_then_fetch"}
现在因为第一个msearch执行太久时间,我希望能够取消第一个msearch语句的执行,这个该如何实现?我第一个想到的是通过taskId来取消任务,首先我否定了通过
GET _tasks?actions=*msearch&detailed
通配符这种方式获取msearch的taskId,因为这样不能区分哪个task是第一个msearch的task。我在想是否有某种方法,当执行第一个msearch执行的时候,elasticsearch就返回它的taskId,当第一个任务执行过久,我就可以通过这个taskId进行任务取消?
或者还有什其他的方法实现这个功能吗?
感谢大佬们的解答。
2 个回复
JiangJibo - 喊我雷锋
赞同来自:
Charele - Cisco4321
赞同来自:
这个东西是有level的,紫色的是代表一个msearch的总task,
两个红色的是他的子task(它们分别代表msearch中的一个search)
两个儿子分别有1个和3个儿子。
(看后面的parent id)