如何在ElasticSearch中限制查询时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (137)

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

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

提问于
用户回答回答于

你可以在请求正文uri请求中传递搜索“超时” 。如果搜索请求在收集所有结果之前超时,则会返回部分结果。

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

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

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

扫码关注云+社区