es开启数据压缩,es增加游标,searchAfter,范围查询方法

This commit is contained in:
liuzhaotian
2025-05-09 15:21:45 +08:00
parent 8d544d10d0
commit 6cecff9e26
6 changed files with 324 additions and 196 deletions
@@ -20,6 +20,7 @@ import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.apache.http.impl.nio.reactor.IOReactorConfig;
import org.apache.http.message.BasicHeader;
import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.ssl.SSLContexts;
import org.elasticsearch.client.RestClient;
@@ -43,6 +44,7 @@ import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.time.Duration;
import java.util.List;
/**
@@ -140,6 +142,8 @@ public class ChenfengElasticsearchAutoConfiguration {
.setConnectTimeout((int) properties.getConnectionTimeout().toMillis())
.setSocketTimeout((int) properties.getSocketTimeout().toMillis())
.setConnectionRequestTimeout((int) properties.getConnectionRequestTimeout().toMillis())
// 启用数据压缩
.setContentCompressionEnabled(true)
.build());
if (ObjectUtil.isNotNull(credentialsProvider)) {
httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
@@ -150,6 +154,7 @@ public class ChenfengElasticsearchAutoConfiguration {
}
// 手动开启keepalive
httpAsyncClientBuilder.setDefaultIOReactorConfig(IOReactorConfig.custom().setSoKeepAlive(true).build());
httpAsyncClientBuilder.setDefaultHeaders(List.of(new BasicHeader("Accept-Encoding", "gzip")));
// 手动设置保活时长
httpAsyncClientBuilder.setKeepAliveStrategy(((response, context) -> Duration.ofMinutes(5).toMillis()));
return httpAsyncClientBuilder;