我将 Spring Boot Starter Data Elasticsearch 2.2.3.RELEASE 与 Elasticsearch v6.8.6 一起使用。我配置了 RestHighLevelClient 以连接到集群。
现在我经常在不同的操作上得到一个 SocketTimeoutException:
java.net.SocketTimeoutException: 5,000 milliseconds timeout on connection http-outgoing-95 [ACTIVE]
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.timeout(HttpAsyncRequestExecutor.java:387) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:92) ~[httpasyncclient-4.1.4.jar!/:4.1.4]
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:39) ~[httpasyncclient-4.1.4.jar!/:4.1.4]
at org.apache.http.impl.nio.reactor.AbstractIODispatch.timeout(AbstractIODispatch.java:175) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.sessionTimedOut(BaseIOReactor.java:261) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractIOReactor.timeoutCheck(AbstractIOReactor.java:502) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:211) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
Run Code Online (Sandbox Code Playgroud)
我可以在 Spring Boot 应用程序中配置套接字超时吗?如果是,在哪里。
我尝试配置 ClientConfiguration 的套接字超时我创建了没有效果的 RestHighLevelClient :
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo(nodes)
.withSocketTimeout(Duration.ofSeconds(30))
.build();
RestHighLevelClient client = RestClients.create(clientConfiguration).rest();
Run Code Online (Sandbox Code Playgroud) 我正在使用 spring-boot-starter-data-elasticsearch 2.1.0.RC1。
我有一个自定义查询(通过 @Query 注释),我想在其中传递 11 个参数。查询如下所示:
{
"bool" : {
"must" : [
{
"range" : {
"attribute0" : { "gte" : ?0, "lte" : ?1 }
}
},
{
"range" : {
"attribute1" : { "gte" : ?2, "lte" : ?3 }
}
},
{
"term": { "attribute2": "?4" }
},
{
"term": { "attribute3": "?5" }
},
{
"term": { "attribute4": "?6" }
},
{
"term": { "attribute5": "?7" }
},
{
"term": { "attribute6": "?8" …Run Code Online (Sandbox Code Playgroud) elasticsearch spring-data spring-boot spring-data-elasticsearch