elasticsearch 搜索怎么设置超时时间

elasticsearch 搜索怎么设置超时时间_第1张图片

SearchRequestBuilder builder ;
builder.setTimeout(TimeValue.timeValueMillis(1));

本意是想es查询超过1毫秒就返回超时,但测试发现与想象的不一样。即使耗时100+毫秒也不会超时。
setTimeout方法是不可靠的,解释如下:
Sadly, it is a best effort timeout, its not being checked on all places. Specifically, if you send a query that ends up being rewritten into many terms (fuzzy, or wildcard), that part (the rewrite part) does not check for a timeout.

遗憾的是,这是一个最好的超时,它不是在所有地方都被检查。具体地说,如果您发送的查询最终被重写为许多术语(模糊或通配符),那么该部分(重写部分)不会检查超时。

你可能感兴趣的:(elasticsearch 搜索怎么设置超时时间)