-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use elasticsearch java client query api with docvalueFields and storedField, and response is error!! #700
Labels
Category: Bug
Something isn't working
Comments
@swallez should these issues be moved to the https://github.com/elastic/elasticsearch-java repo? |
Pinging @elastic/clients-team (Team:Clients) |
@mark-vieira yes, definitely. Feel free to move issues about |
Closed
Also see #680 |
fixed in the code generator, will be part of the next release! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Elasticsearch Version
8.0.0
Installed Plugins
No response
Java Version
8.9.1
OS Version
ubuntu
Problem Description
i want to use es query with docvalue_fields and stored_fields. in kibana,it's ok. but when i use use elasticsearch java client to query, it response error! the error is:
java.lang.NullPointerException
at org.eclipse.parsson.JsonGeneratorImpl.writeEscapedString(JsonGeneratorImpl.java:539)
at org.eclipse.parsson.JsonGeneratorImpl.write(JsonGeneratorImpl.java:359)
at co.elastic.clients.elasticsearch.core.search.Hit.serializeInternal(Hit.java:303)
at co.elastic.clients.elasticsearch.core.search.Hit.serialize(Hit.java:293)
at co.elastic.clients.elasticsearch.core.search.HitsMetadata.serializeInternal(HitsMetadata.java:130)
at co.elastic.clients.elasticsearch.core.search.HitsMetadata.serialize(HitsMetadata.java:115)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.serializeInternal(ResponseBody.java:248)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.serialize(ResponseBody.java:232)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:408)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:345)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.toString(ResponseBody.java:311)
at java.base/java.lang.String.valueOf(String.java:2951)
at java.base/java.io.PrintStream.println(PrintStream.java:897)
at com.example.demoproject.ElasticsearchTest.test(ElasticsearchTest.java:53)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Suppressed: jakarta.json.stream.JsonGenerationException: Generating incomplete JSON
at org.eclipse.parsson.JsonGeneratorImpl.close(JsonGeneratorImpl.java:519)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:407)
... 74 more
Steps to Reproduce
1、create index and add data
PUT device_info
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 2
}
, "mappings": {
"properties": {
"city": {
"type": "keyword"
}
}
}
}
PUT device_info/_bulk
{"index": {"_id": "1"}}
{"city": "chengdu"}
{"index": {"_id": "2"}}
{"city": "chengdu"}
2、use kibana query (return no error)
GET device_info/_search
{
"stored_fields": ["none"],
"docvalue_fields": ["city"],
"query": {
"term": {
"city": {
"value": "chengdu"
}
}
}
}
3、use elasticsearch java client to query
@test
public void test() throws IOException {
ApiTypeHelper.DANGEROUS_disableRequiredPropertiesCheck(true);
SearchResponse response = elasticsearchClient.search(s -> s
.index("device_info")
.query(q -> q
.term(t -> t
.field("city")
.value("chengdu")))
.docvalueFields(d -> d
.field("city"))
.storedFields("none"), Void.class);
System.out.println(response);
ApiTypeHelper.DANGEROUS_disableRequiredPropertiesCheck(false);
}
error info :
java.lang.NullPointerException
at org.eclipse.parsson.JsonGeneratorImpl.writeEscapedString(JsonGeneratorImpl.java:539)
at org.eclipse.parsson.JsonGeneratorImpl.write(JsonGeneratorImpl.java:359)
at co.elastic.clients.elasticsearch.core.search.Hit.serializeInternal(Hit.java:303)
at co.elastic.clients.elasticsearch.core.search.Hit.serialize(Hit.java:293)
at co.elastic.clients.elasticsearch.core.search.HitsMetadata.serializeInternal(HitsMetadata.java:130)
at co.elastic.clients.elasticsearch.core.search.HitsMetadata.serialize(HitsMetadata.java:115)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.serializeInternal(ResponseBody.java:248)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.serialize(ResponseBody.java:232)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:408)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:345)
at co.elastic.clients.elasticsearch.core.search.ResponseBody.toString(ResponseBody.java:311)
at java.base/java.lang.String.valueOf(String.java:2951)
at java.base/java.io.PrintStream.println(PrintStream.java:897)
at com.example.demoproject.ElasticsearchTest.test(ElasticsearchTest.java:53)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Suppressed: jakarta.json.stream.JsonGenerationException: Generating incomplete JSON
at org.eclipse.parsson.JsonGeneratorImpl.close(JsonGeneratorImpl.java:519)
at co.elastic.clients.json.JsonpUtils.toString(JsonpUtils.java:407)
... 74 more
Logs (if relevant)
No response
The text was updated successfully, but these errors were encountered: