如何限制elasticsearch中的查询时间?

时间:2013-08-23 10:05:10

标签: elasticsearch

如果您在query_string中使用elasticsearch对大型数据集进行不幸查询,则几乎可以关闭群集,并且可能需要相当长的时间才能完成查询。如果允许用户指定任意查询字符串,这可能是一个严重的问题。

那么,有没有办法限制查询所需的时间和/或资源?如果你能告诉elasticsearch在10秒之后自动中止查询,这会有很大的帮助。

1 个答案:

答案 0 :(得分:15)

您可以在request bodyuri request中传递搜索“超时”。如果搜索请求在收集所有结果之前超时,则将返回部分结果。

这是一个10秒的uri请求示例(单位是以毫秒为单位):

http://localhost:9200/_search?timeout=10000

如果将超时设置得足够低,则返回的json将显示“timed_out”:true。