Hej,
I am currently implementing a service which calls an OpenSearch Domain for suggestions but I am currently receiveing the follwing exception:
org.opensearch.client.opensearch._types.OpenSearchException: Request failed: [parse_exception] missing suggestion object
at org.opensearch.client.transport.aws.AwsSdk2Transport.parseResponse(AwsSdk2Transport.java:486)
at org.opensearch.client.transport.aws.AwsSdk2Transport.executeSync(AwsSdk2Transport.java:393)
at org.opensearch.client.transport.aws.AwsSdk2Transport.performRequest(AwsSdk2Transport.java:191)
at org.opensearch.client.opensearch.OpenSearchClient.search(OpenSearchClient.java:1219)
at com.heiland.searchservice.repository.AbstractOpenSearchRepository.autocomplete(AbstractOpenSearchRepository.java:46)
... 176 common frames omitted
Here is my call: final SearchRequest request = SearchRequest.of(s -> s.index(searchIndex()).suggest(factory.createSuggester(query)));
Here is the implementation of the method createSuggester():
public Suggester createSuggester(final String query) {
final CompletionSuggester completion = CompletionSuggester.of(c -> c.field("suggestions"));
final FieldSuggester fieldSuggester = FieldSuggester.of(f -> ((FieldSuggester.Builder) f.completion(completion)).prefix(query));
return Suggester.of(s -> s.suggesters("autocomplete", fieldSuggester));
}
The Suggester represents this call, which works fine:
GET index/_search
{
"suggest": {
"autocomplete": {
"prefix": "Haut",
"completion": {
"field": "suggestions"
}
}
}
}
Does anyone has an idea of what am I doing wrong? The OpenSearch Documentation is, in this case, not really helpful....
I tried to make a completion call. I expected a Suggestion Result.