我正在使用 7.10.2 版本的 Maven-org-elasticsearch-client_elasticsearch-rest-high-level-client 版本,并且 WildcardQueryBuilder 應該使用不區分大小寫的屬性。以下是我的代碼片段,我在執行我的 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
uj5u.com熱心網友回復:
我堅信 Java 客戶端版本和您的集群版本不同。該caseInsensitive查詢引數首先用Elasticsearch版本7.10介紹。
所以我猜你正在運行一個版本低于 7.10 的 Elasticsearch 集群。集群“還”不知道這個引數。
我希望我能幫助你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/408449.html
標籤:
