encounter error when trying search with AttributesToHighlight
372475697 opened this issue · comments
I'm encounter json serialize error when trying search method to get documents via JAVA SDK,
here are the sample code.
here is the error stacktrace
Meilisearch ApiException: {Error=APIError: {message='Invalid value type at .attributesToHighlight
: expected an array, but found a string: "**[Ljava.lang.String;@10fc5e2f**"
', code='invalid_search_attributes_to_highlight', type='invalid_request', link='https://docs.meilisearch.com/errors#invalid_search_attributes_to_highlight'}}
pls refer the highlighted part, I noticed that org.json.JSONObject wrongly serialize the String arrary to [Ljava.lang.String;@10fc5e2f
any idea to reslove this issue? as workaround, I'm using JAVA API to do the search instead temporary.
Environment (please complete the following information):
- OS: windows 10
- Meilisearch version: v1.4.2
- meilisearch-java version: v0.11.5
- org.json version: 20231013, as sdk pom required
Do you know if that only happens when you try to use the SearchResultPaginated
?
i have a similar issue when using SearchRequestBuilder.
by debug, i found that SearchRequest.toString() converted array fields like attributesToHighlight
to [Ljava.lang.String;@xxxxxx
instead of ["xxx", "yyy"]
the toString method uses org.json.JSONObject
to convert object to json string. obviously the org.json.JSONObject
can't handle array fields as we expect.
i found that the class i use is actually org.json.JSONObject
from com.vaadin.external.google:android-json
instead of org.json
if you remove com.vaadin.external.google:android-json
from your project like below, the problem will be fixed.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
then it's easy to understand why some users meet this bug but the developers can't reproduce it(like #573)
more background information can be found here: https://stackoverflow.com/a/60952911/19414568
Environment (please complete the following information):
OS: macos 13.4.1
jdk: 21
springboot: 3.2.0
Meilisearch version: v1.5
meilisearch-java version: v0.11.5