如果您在query_string中使用elasticsearch对大型数据集进行不幸查询,则几乎可以关闭群集,并且可能需要相当长的时间才能完成查询。如果允许用户指定任意查询字符串,这可能是一个严重的问题。
那么,有没有办法限制查询所需的时间和/或资源?如果你能告诉elasticsearch在10秒之后自动中止查询,这会有很大的帮助。
答案 0 :(得分:15)
您可以在request body或uri request中传递搜索“超时”。如果搜索请求在收集所有结果之前超时,则将返回部分结果。
这是一个10秒的uri请求示例(单位是以毫秒为单位):
http://localhost:9200/_search?timeout=10000
如果将超时设置得足够低,则返回的json将显示“timed_out”:true。