【问题标题】:Elasticsearch exception [type=parsing_exception, reason=[wildcard] query does not support [case_insensitive]]Elasticsearch 异常 [type=parsing_exception, reason=[wildcard] 查询不支持 [case_insensitive]]
【发布时间】:2022-01-08 00:48:13
【问题描述】:

我正在使用 7.10.2 版本的 Maven-org-elasticsearch-client_elasticsearch-rest-high-level-client 版本,并且 WildcardQueryBuilder 应该使用不区分大小写的属性。以下是我的代码 sn-p,我在执行我的 ES 搜索请求时收到“Elasticsearch exception [type=parsing_exception,reason=[wildcard] query does not support [case_insensitive]]”

private BoolQueryBuilder translateSearchFilter(final Filter filter) {
        final BoolQueryBuilder searchQuery = new BoolQueryBuilder();
        searchQuery.must(new WildcardQueryBuilder(filter.getDimension(), filter.getQuery().getValue())
                .caseInsensitive(!filter.getQuery().isCaseSensitive()));
        return searchQuery;
    }

异常日志

"exception": " ElasticsearchStatusException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:102] [bool] failed to parse field [must]]]; nested: ElasticsearchException[Elasticsearch exception [type=parsing_exception, reason=[wildcard] query does not support [case_insensitive]]];\n\tat org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:187)\n\tat org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1911)\n\tat org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1888)\n\tat org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1645)\n\tat org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1602)\n\tat org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1572)\n\tat org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:1088)\n\tat com.amazon.atvomniaservice.elasticsearch.ElasticSearchClient.search(ElasticSearchClient.java:52)\n\tat com.amazon.atvomniaservice.elasticsearch.ElasticSearchQueryRunner.submit(ElasticSearchQueryRunner.java:30)\n\tat 

【问题讨论】:

    标签: elasticsearch elasticsearch-query resthighlevelclient


    【解决方案1】:

    我坚信 Java 客户端版本和您的集群版本不同。 caseInsensitive 查询参数是在 Elasticsearch 7.10 版本中首次引入的。

    所以我猜你正在运行一个版本低于 7.10 的 Elasticsearch 集群。集群“还”不知道这个参数。

    希望能帮到你。

    【讨论】:

    • 非常感谢@apt-get_install_skill。升级 ES 集群版本使其工作
    • 不客气。很高兴能帮到你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多