I'm in a middle of migration from 6.4.3 to 7.4.2 and we've a simple search (that worked before the upgrade) that looks like this:
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
QueryBuilder matchQueryBuilder =
QueryBuilders.termQuery(QName, QValue);
searchSourceBuilder.query(matchQueryBuilder).size(30);
SearchRequest searchRequest = new SearchRequest(GENERAL_ALIAS);
searchRequest.source(searchSourceBuilder);
try {
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
//... Here I got an exception...
This code throw an exception:
java.lang.NoSuchMethodError: 'void org.elasticsearch.client.Request.addParameters(java.util.Map)'
pom.xml (maven):
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.4.2</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.4.2</version> </dependency>
MORE INFO:
During investigation I figured out that addParameters
is red (request.addParameters(params.asMap());
) in RequestConverters.java #409 (org.elasticsearch.client)
Now, request
is of type Request that has a public method addParameter(String name, String value)
but without 's' (addParameters)
I'll be glad to understand what I'm missing? does I missing the correct dependencies?
Thank you!
UPDATE:
While getting screenshot I suddenly pay attention that 'Request' is part of 6.4.3 (and not 7.4.2, as RequestConverters
):