写点什么

多模块项目使用 ElasticSearch 报错

作者:刘大猫
  • 2025-10-16
    黑龙江
  • 本文字数:550 字

    阅读完需:约 2 分钟

@[TOC]

情况 1:启动报错

maven 包引入问题 ClassNotFoundException: org.elasticsearch.client.Cancellable


原因:父 pom 引入 ES 版本了,导致版本冲突



解决方案:修改父 pom 的 ES 的版本即可启动成功

情况 2:java.lang.NoSuchMethodError: org.elasticsearch.action.index.IndexRequest.ifSeqNo()J


原因:有一种说法说 jar 里的 Elasticsearch 版本有错,要移除了再重新引入?答案待确定



解决办法:添加即可


情况 3:java.lang.ClassNotFoundException: org.elasticsearch.client.indices.GetIndexRequest


原因:项目有两个子 model,每个 model 都有一个注入 es client 的 bean,这就造成一个项目里 es 有两套,肯定会有一个被覆盖


解决办法:统一即可

情况 4:xx contains unrecognized parameter: [ccs_minimize_roundtrips]]


"message": "Elasticsearch exception [type=illegal_argument_exception, reason=request [/12_assets_directory_v1/_doc/_search] contains unrecognized parameter: [ccs_minimize_roundtrips]]原因:ES 版本不一致造成的


解决办法:找到索引引用 ES 的地方,确认版本一致

情况 5:I/O reactor terminated abnormally

RestHighLevelClient 请求 ES 报错 ↓




可能原因:原因 1:http/tcp 建立连接请求太多,导致请求加不进去了原因 2:es 内存不够用了,导致请求加不进去了


解决办法:重启 ES 或者增大内存


用户头像

刘大猫

关注

还未添加个人签名 2022-08-23 加入

还未添加个人简介

评论

发布
暂无评论
多模块项目使用ElasticSearch报错_人工智能_刘大猫_InfoQ写作社区