You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Spring Data JPA查询ES时出现ccs_minimize_roundtrips参数无法识别报错

问题根因
  • 你当前使用的spring-data-elasticsearch 3.2.3.RELEASE版本内置的Elasticsearch客户端,会默认在所有搜索请求中自动携带ccs_minimize_roundtrips参数,该参数仅Elasticsearch 6.7及更高版本的服务端支持,若服务端版本低于6.7就会触发该非法参数报错。
  • 你提到的「服务端版本和API版本一致」可能存在匹配校验偏差,可执行curl http://<ES服务地址>:9200,查看返回结果的version.number字段确认服务端实际运行版本。
解决方案

方案1:对齐服务端与客户端版本

将Elasticsearch服务端升级到6.7及以上版本,和当前客户端依赖的版本完全匹配即可直接解决报错。

方案2:过滤多余请求参数(无需改版本)

自定义RestHighLevelClient配置,添加请求拦截器移除ccs_minimize_roundtrips参数,代码示例如下:

import org.apache.http.HttpRequestInterceptor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.RestClients;
import org.elasticsearch.client.RestHighLevelClient;
import java.util.stream.Collectors;

@Configuration
public class ElasticsearchConfig extends AbstractElasticsearchConfiguration {

    @Value("${spring.elasticsearch.rest.uris}")
    private String[] esUris;

    @Override
    public RestHighLevelClient elasticsearchClient() {
        ClientConfiguration clientConfiguration = ClientConfiguration.builder()
                .connectedTo(esUris)
                .withHttpClientConfigurer(httpClientBuilder -> 
                    httpClientBuilder.addInterceptorFirst((HttpRequestInterceptor) (request, context, executor) -> {
                        // 过滤掉不被服务端支持的ccs_minimize_roundtrips参数
                        request.getParams().keySet().stream()
                                .filter("ccs_minimize_roundtrips"::equals)
                                .collect(Collectors.toList())
                                .forEach(request::removeParam);
                        return executor.execute(request, context);
                    })
                )
                .build();
        return RestClients.create(clientConfiguration).rest();
    }
}

方案3:降级Spring Data Elasticsearch版本

如果无法升级ES服务端,可将spring-data-elasticsearch依赖降级到3.1.x版本,该版本不会自动携带ccs_minimize_roundtrips参数,对应适配Spring Boot 2.1.x版本即可。

内容的提问来源于stack exchange,提问作者mahfuj asif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:06:02