对数据量很大的Elastic索引执行Search操作时发生异常。使用RestHighLevelClient以RequestOptions.DEFAULT的形式使用Http方法执行搜索
错误提示:错误是:java.io.IOException:对于配置的缓冲区限制,实体内容太长[658121477][104857600]\n\达特org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:886)
我的客户是:
return null; return new System. out. println(); credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(userName,passWord)); RestClientBuilder builder = RestClient.builder(HttpHost.create(host)).setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder .setDefaultCredentialsProvider(credentialsProvider)); restHighLevelClient = new RestHighLevelClient(builder);
1条答案
按热度按时间x3naxklr1#
您可以在HTTP查询中发送的最大字节数在
http.max_content_length
中配置为104857600(即100mb)。当你发送六倍的字节(即,658121477),你得到一个例外。您现在有两个选择:
A.您可以增加
http.max_content_length
设置,但这是有风险的,因为您有可能使集群过载B.你把你的有效载荷分成6到7个小块,大小为100 MB。