Parsing_Exception [match] 查询不支持 [auto_generate_synonyms_phrase_query]
Parsing_Exception [match] query does not support [auto_generate_synonyms_phrase_query]
下面是我的代码:
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("field", "value to search"));
Search search = new Search.Builder(searchSourceBuilder.toString()).build();
JestResult result = jestc.execute(search);
While running this code it gives exception:
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match] query does not support [auto_generate_synonyms_phrase_query]","line":1,"col":213}],"type":"parsing_exception","reason":"[match] query does not support [auto_generate_synonyms_phrase_query]","line":1,"col":213},"status":400}
需要帮助解决此问题....
尝试了 match_all 查询并且有效。不知道为什么会失败。
我使用的是6.1.1版本的"org.elasticsearch"和"org.elasticsearch.client",jest版本是5.3.3。不确定是否重要。
提前致谢
找到问题了。我使用的是 6.1.1 API 版本,但我的弹性节点在 5.x 上,不支持 auto_generate_synonyms_phrase_query 参数。
我将 "org.elasticsearch" 和 "org.elasticsearch.client" 移动到版本 5.6.0,这为我修复了它。 6.1.1 客户端中的某些方法(例如 QueryBuilders.matchQuery(...))添加了新参数,因此破坏了向后兼容性。我执行查询的 elasticsearch 节点在 5.x 上,所以它们不理解这个新参数。
下面是我的代码:
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("field", "value to search"));
Search search = new Search.Builder(searchSourceBuilder.toString()).build();
JestResult result = jestc.execute(search);
While running this code it gives exception: {"error":{"root_cause":[{"type":"parsing_exception","reason":"[match] query does not support [auto_generate_synonyms_phrase_query]","line":1,"col":213}],"type":"parsing_exception","reason":"[match] query does not support [auto_generate_synonyms_phrase_query]","line":1,"col":213},"status":400}
需要帮助解决此问题.... 尝试了 match_all 查询并且有效。不知道为什么会失败。
我使用的是6.1.1版本的"org.elasticsearch"和"org.elasticsearch.client",jest版本是5.3.3。不确定是否重要。
提前致谢
找到问题了。我使用的是 6.1.1 API 版本,但我的弹性节点在 5.x 上,不支持 auto_generate_synonyms_phrase_query 参数。
我将 "org.elasticsearch" 和 "org.elasticsearch.client" 移动到版本 5.6.0,这为我修复了它。 6.1.1 客户端中的某些方法(例如 QueryBuilders.matchQuery(...))添加了新参数,因此破坏了向后兼容性。我执行查询的 elasticsearch 节点在 5.x 上,所以它们不理解这个新参数。