问题 entity content is too long [145648701] for the configured buffer limit

HighLevelClient请求返回内容超过默认限制。网上说是HeapBufferedResponseConsumerFactory里请求超过限制的问题,要改一下HeapBufferedResponseConsumerFactory 的bufferLimit

找了好一会找到如何改这个bufferLimit,记录一下解决的代码

private static RequestOptions getLongBufferRequestOptions(int bufferLimits) {
    HttpAsyncResponseConsumerFactory.HeapBufferedResponseConsumerFactory consumerFactory = new HttpAsyncResponseConsumerFactory.HeapBufferedResponseConsumerFactory(bufferLimits);
    RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
    builder.setHttpAsyncResponseConsumerFactory(consumerFactory);
    return builder.build();
}
public static boolean docExists(String index, String id, RestHighLevelClient client) throws IOException {
    GetRequest getRequest = new GetRequest(index, id);
    getRequest.fetchSourceContext(new FetchSourceContext(false));
    getRequest.storedFields("_none_");
    boolean exists = client.exists(getRequest, getLongBufferRequestOptions(1024*1024*1024));
    return exists;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值