读取spring data elasticsearch中的超时时间

时间:2017-03-21 13:45:33

标签: spring-data-elasticsearch

是否可以在spring数据elasticsearch中设置readTimeout?

场景:我的应用程序正在尝试使用elasticsearch模板查询elasticsearch,但有时会花费很多时间并且请求会被堆积起来。 Plz不要将它与客户端ping超时混淆。 在弹性搜索中有2-3个Cr文件,在我的应用程序上就像100 rps。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

没有办法使用SpringData的ElasticSearchTemplate为每个查询指定写入超时。 请检查这个答案: - https://stackoverflow.com/a/40558236/2357869

你可以使用Elastic search core java api, 尝试使用这个类: - org.elasticsearch.action.ActionFuture.actionGet

SearchRequestBuilder countRequestBuilder = esClient.prepareSearch("index").setTypes("type").setQuery(searchQuery);
        SearchResponse response = countRequestBuilder.execute().actionGet(time_out, TimeUnit.SECONDS);

答案 1 :(得分:0)

我相信有一个属性可以用于此目的:

spring.elasticsearch.jest.connection-timeout=3000 # Connection timeout in milliseconds.
spring.elasticsearch.jest.multi-threaded=true # Enable connection requests from multiple execution threads.

也应该以yml样式在Spring Boot中工作