当前位置: 首页 > news >正文

ES查询报错内容长度超过104857600

项目场景:

使用 ElasticsearchRestTemplate 或者使用 RestHighLevelClient 查询 ES 报错 内容长度超过 104857600


问题描述

ES 查询报错 entiity content is too long xxx for the configured buffer limit 104857600

	@Overridepublic void esQuery() {restHighLevelClient.search(request, RequestOptions.DEFAULT);// elasticsearchRestTemplate.search()..........}

原因分析:

这个错误提示表明您的请求内容超过了配置的缓冲区限制。默认情况下,Spring Data Elasticsearch的ElasticsearchRestTemplate底层调用的还是RestHighLevelClient,它的缓冲区大小限制是104857600字节(100MB)。

您可以通过以下两种方式解决这个问题:

分割请求:将您的搜索请求分割成多个较小的请求,并分别执行。这样可以确保每个请求的内容不会超过缓冲区限制。

自定义缓冲区大小:创建一个自定义的ClientHttpRequestFactory,将缓冲区大小设置为您需要的大小。这样就可以增加缓冲区大小,使其能够处理更大的请求内容

查看源码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入 RequestOptions 类中发现就是此处限制大小104857600


解决方案:

这里给出第二种解决方案:
如果你使用的是Spring Data Elasticsearch 那么换成 restHighLevelClient

@Service
@RequiredArgsConstructor
public class EsServiceImpl{
//注入RestHighLevelClient
private RestHighLevelClient restHighLevelClient;static {// 自定义返回参数大小 单位 BYTERequestOptions.Builder requestOptions = RequestOptions.DEFAULT.toBuilder();requestOptions.setHttpAsyncResponseConsumerFactory(new HttpAsyncResponseConsumerFactory.HeapBufferedResponseConsumerFactory(500 * 1024 * 1024));DEFAULT = requestOptions.build();}@Overridepublic void esQuery() {restHighLevelClient.search(request, DEFAULT);..........}
}
http://www.lryc.cn/news/155544.html

相关文章:

  • 2023欧亚合作发展大会暨国际公共采购大会在京举行
  • 宝塔面板linux在终端使用命令开启服务保持服务不关闭
  • 面试题--从键盘输入网站到网页显示,之间发生了什么
  • 字节9.3秋招研发笔试 【后端方向】第三题
  • Solidity 小白教程:8. 变量初始值
  • 时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比
  • 京东搜索EE链路演进 | 京东云技术团队
  • 【C++】反向迭代器精讲(以lIst为例)
  • 时序预测 | MATLAB实现基于PSO-GRU、GRU时间序列预测对比
  • 2023年高教社杯 国赛数学建模思路 - 案例:感知机原理剖析及实现
  • Java 利用pdfbox将图片和成到pdf指定位置
  • 大数据课程K19——Spark的电影推荐案例推荐系统的冷启动问题
  • Docker-安装(Linux,Windows)
  • 若依富文本 html样式 被过滤问题
  • VS Code 快速消除前置空格和常用快捷键
  • 【跟小嘉学 Rust 编程】二十五、Rust命令行参数解析库(clap)
  • gRPC远程进程调用
  • 什么是继承
  • QT连接数据库
  • navicat访问orcal数据库
  • Linux中查找某路径下,包含某个字符串的所有文件
  • 常见信号滤波方法(卡尔曼滤波、滑动平均、异常值剔除)的原理解析与C语言实现
  • WebGL模型矩阵
  • Flutter:WebSocket封装-实现心跳、重连机制
  • c语言中:struct timespec
  • Mendix如何实现导出文件
  • 在IIS服务器上安装SSL证书(2023配置启用HTTPS部署教程)内容来源SSL市场网
  • 如何处理ChatGPT与用户之间的互动和反馈?
  • 微服务-gateway鉴权
  • NET7快速开发一个商品管理模块-商品列表开发(一)