TermvectorsResponse id is mandatory, even the id is optional on the request side. MissingPropertyException
Java API client version
8.5.1
Java version
18
Elasticsearch Version
8.5.0
Problem description
TermvectorsResponse.id is mandatory even is optional on the request side.
co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'TermvectorsResponse.id' at co.elastic.clients.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:76) at co.elastic.clients.elasticsearch.core.TermvectorsResponse.<init>(TermvectorsResponse.java:72) at co.elastic.clients.elasticsearch.core.TermvectorsResponse.<init>(TermvectorsResponse.java:54) at co.elastic.clients.elasticsearch.core.TermvectorsResponse$Builder.build(TermvectorsResponse.java:275) at co.elastic.clients.elasticsearch.core.TermvectorsResponse$Builder.build(TermvectorsResponse.java:176) at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:80) at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43) at co.elastic.clients.transport.rest_client.RestClientTransport.decodeResponse(RestClientTransport.java:328) at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:294) at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:147) at co.elastic.clients.elasticsearch.ElasticsearchClient.termvectors(ElasticsearchClient.java:1676)
Does sending the request with cURL or Postman return a value for the metadata field: _id? Posting the debug logs from org.elasticsearch.client.RestClient and the trace request string from org.elasticsearch.client.RequestLogger could help.
The documentation suggests disabling required properties checks if an incorrect MissingPropertiesException was thrown.
-
https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/missing-required-property.html
-
https://github.com/elastic/elasticsearch-java/blob/8e4db1dea8897d3acfca72ab501be7c0bca91e5b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java#L187
-
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html
Does sending the request with cURL or Postman return a value for the metadata field: _id?
No _id field is provided in the response.
Posting the debug logs from org.elasticsearch.client.RestClient and the trace request string from org.elasticsearch.client.RequestLogger could help.
The documentation suggests disabling required properties checks if an incorrect MissingPropertiesException was thrown.
* https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/missing-required-property.html * https://github.com/elastic/elasticsearch-java/blob/8e4db1dea8897d3acfca72ab501be7c0bca91e5b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermvectorsRequest.java#L187 * https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html
Samples response via postman:
{ "_index": "t1_assetstore_teststore", "_version": 0, "found": true, "took": 22, "term_vectors": { "categories.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 308665, "doc_count": 39469, "sum_ttf": 488482 }, "terms": {} }, "productionCountry": { "field_statistics": { "sum_doc_freq": 45732, "doc_count": 38808, "sum_ttf": 45732 }, "terms": {} }, "uiGenres.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 2290885, "doc_count": 39465, "sum_ttf": 3569124 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 5.793235 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.884927 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.325098 } } }, "genreFine.tokenized": { "field_statistics": { "sum_doc_freq": 2964, "doc_count": 1527, "sum_ttf": 2964 }, "terms": {} }, "uiProgramType.all_field": { "field_statistics": { "sum_doc_freq": 317703, "doc_count": 39466, "sum_ttf": 317703 }, "terms": {} }, "uiProductionCountry.all_field": { "field_statistics": { "sum_doc_freq": 41839, "doc_count": 38785, "sum_ttf": 41839 }, "terms": {} }, "productionCountry.tokenized": { "field_statistics": { "sum_doc_freq": 45735, "doc_count": 38808, "sum_ttf": 45735 }, "terms": {} }, "keywords.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 6190, "doc_count": 1555, "sum_ttf": 6194 }, "terms": {} }, "subtitles.all_field": { "field_statistics": { "sum_doc_freq": 42327, "doc_count": 25402, "sum_ttf": 42327 }, "terms": {} }, "titles.all_field": { "field_statistics": { "sum_doc_freq": 62864, "doc_count": 39488, "sum_ttf": 62864 }, "terms": { "Mad Men": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 7 } ], "score": 4.872037 } } }, "persons.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 2117413, "doc_count": 25100, "sum_ttf": 2481519 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 3.8009133 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 3.4714916 }, "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 7.1233296 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.828078 } } }, "categories.all_field": { "field_statistics": { "sum_doc_freq": 317700, "doc_count": 39469, "sum_ttf": 317700 }, "terms": {} }, "titles.all_field.lowercased": { "field_statistics": { "sum_doc_freq": 62504, "doc_count": 39488, "sum_ttf": 76587 }, "terms": { "mad men": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 7 } ], "score": 4.872037 } } }, "titles.all_field.partial": { "field_statistics": { "sum_doc_freq": 601923, "doc_count": 39432, "sum_ttf": 778906 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.8150153 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.387171 } } }, "seasonOriginalTitle": { "field_statistics": { "sum_doc_freq": 1527, "doc_count": 1527, "sum_ttf": 1527 }, "terms": {} }, "seasonTitles.all_field.partial": { "field_statistics": { "sum_doc_freq": 41424, "doc_count": 1542, "sum_ttf": 41424 }, "terms": {} }, "originalTitle.metaphone": { "field_statistics": { "sum_doc_freq": 205057, "doc_count": 33689, "sum_ttf": 207186 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.8346553 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 5.104188 }, "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 7.19085 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 5.572754 } } }, "seasonOriginalTitle.metaphone": { "field_statistics": { "sum_doc_freq": 18324, "doc_count": 1527, "sum_ttf": 18324 }, "terms": {} }, "genreMedium.metaphone": { "field_statistics": { "sum_doc_freq": 130570, "doc_count": 39466, "sum_ttf": 130578 }, "terms": {} }, "uiProgramType.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 305569, "doc_count": 39466, "sum_ttf": 485388 }, "terms": {} }, "keywords.all_field": { "field_statistics": { "sum_doc_freq": 6189, "doc_count": 1555, "sum_ttf": 6189 }, "terms": {} }, "seasonTitles.all_field.lowercased": { "field_statistics": { "sum_doc_freq": 3069, "doc_count": 1542, "sum_ttf": 3069 }, "terms": {} }, "originalTitle.partial": { "field_statistics": { "sum_doc_freq": 330692, "doc_count": 33540, "sum_ttf": 332325 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 6.7857947 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 5.1420026 } } }, "uiProductionCountry.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 53329, "doc_count": 38785, "sum_ttf": 94303 }, "terms": {} }, "genreBroad.tokenized": { "field_statistics": { "sum_doc_freq": 89301, "doc_count": 39488, "sum_ttf": 89301 }, "terms": {} }, "structuredKeywords.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 0, "doc_count": 0, "sum_ttf": 0 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 1.0 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 1.0 } } }, "genreBroad": { "field_statistics": { "sum_doc_freq": 89297, "doc_count": 39488, "sum_ttf": 89297 }, "terms": {} }, "sourceNames.all_field": { "field_statistics": { "sum_doc_freq": 73586, "doc_count": 39465, "sum_ttf": 73586 }, "terms": {} }, "subtitles.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 142938, "doc_count": 25402, "sum_ttf": 152957 }, "terms": { "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.577673 } } }, "persons.all_field.partial": { "field_statistics": { "sum_doc_freq": 4219924, "doc_count": 25100, "sum_ttf": 4856568 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.4535794 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.8615665 } } }, "titles.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 370331, "doc_count": 39488, "sum_ttf": 490029 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.1590157 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.103349 }, "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.8671827 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.571662 } } }, "keywords.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 9304, "doc_count": 1555, "sum_ttf": 12395 }, "terms": {} }, "titles.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 176913, "doc_count": 39488, "sum_ttf": 227986 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.8671827 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.571662 } } }, "seasonOriginalTitle.partial": { "field_statistics": { "sum_doc_freq": 21378, "doc_count": 1527, "sum_ttf": 21378 }, "terms": {} }, "subtitles.all_field.lowercased": { "field_statistics": { "sum_doc_freq": 42277, "doc_count": 25402, "sum_ttf": 42985 }, "terms": {} }, "genreFine.metaphone": { "field_statistics": { "sum_doc_freq": 4406, "doc_count": 1527, "sum_ttf": 5840 }, "terms": {} }, "originalTitle.lowercased": { "field_statistics": { "sum_doc_freq": 33689, "doc_count": 33689, "sum_ttf": 33689 }, "terms": { "mad men": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 7 } ], "score": 7.2202635 } } }, "sourceNames.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 202147, "doc_count": 39465, "sum_ttf": 254636 }, "terms": {} }, "genreMedium.tokenized": { "field_statistics": { "sum_doc_freq": 129019, "doc_count": 39466, "sum_ttf": 129023 }, "terms": {} }, "seasonOriginalTitle.lowercased": { "field_statistics": { "sum_doc_freq": 1527, "doc_count": 1527, "sum_ttf": 1527 }, "terms": {} }, "uiGenres.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 1352413, "doc_count": 39465, "sum_ttf": 1815400 }, "terms": { "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.325098 } } }, "seasonOriginalTitle.tokenized": { "field_statistics": { "sum_doc_freq": 7635, "doc_count": 1527, "sum_ttf": 7635 }, "terms": {} }, "genreFine": { "field_statistics": { "sum_doc_freq": 2964, "doc_count": 1527, "sum_ttf": 2964 }, "terms": {} }, "synopses.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 1734991, "doc_count": 39391, "sum_ttf": 2127661 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 9.789558 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.362442 } } }, "seasonTitles.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 16827, "doc_count": 1542, "sum_ttf": 16827 }, "terms": {} }, "persons.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 1136060, "doc_count": 25100, "sum_ttf": 1290126 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 7.1233296 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.828078 } } }, "persons.all_field.permutated": { "field_statistics": { "sum_doc_freq": 1520556, "doc_count": 25100, "sum_ttf": 1618539 }, "terms": {} }, "seasonTitles.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 7650, "doc_count": 1542, "sum_ttf": 7650 }, "terms": {} }, "subtitles.all_field.partial": { "field_statistics": { "sum_doc_freq": 495210, "doc_count": 25379, "sum_ttf": 530927 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 6.598422 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 6.111279 } } }, "structuredKeywords.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 0, "doc_count": 0, "sum_ttf": 0 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 1.0 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 1.0 }, "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 1.0 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 1.0 } } }, "seasonTitles.all_field": { "field_statistics": { "sum_doc_freq": 3069, "doc_count": 1542, "sum_ttf": 3069 }, "terms": {} }, "subtitles.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 298104, "doc_count": 25402, "sum_ttf": 324969 }, "terms": { "MN": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 4.8566246 }, "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 4.2459283 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 8.577673 } } }, "persons.all_field": { "field_statistics": { "sum_doc_freq": 716140, "doc_count": 25100, "sum_ttf": 716140 }, "terms": {} }, "originalTitle.tokenized": { "field_statistics": { "sum_doc_freq": 94265, "doc_count": 33689, "sum_ttf": 95044 }, "terms": { "mad": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 7.19085 }, "men": { "term_freq": 1, "tokens": [ { "position": 1, "start_offset": 4, "end_offset": 7 } ], "score": 5.572754 } } }, "uiGenres.all_field": { "field_statistics": { "sum_doc_freq": 1244518, "doc_count": 39465, "sum_ttf": 1244518 }, "terms": {} }, "originalTitle": { "field_statistics": { "sum_doc_freq": 33689, "doc_count": 33689, "sum_ttf": 33689 }, "terms": { "Mad Men": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 7 } ], "score": 7.2202635 } } }, "genreBroad.metaphone": { "field_statistics": { "sum_doc_freq": 90885, "doc_count": 39488, "sum_ttf": 90885 }, "terms": {} }, "genreMedium": { "field_statistics": { "sum_doc_freq": 129019, "doc_count": 39466, "sum_ttf": 129019 }, "terms": {} }, "structuredKeywords.all_field": { "field_statistics": { "sum_doc_freq": 0, "doc_count": 0, "sum_ttf": 0 }, "terms": { "Mad Men": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 7 } ], "score": 1.0 } } }, "uiProductionCountry.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 103811, "doc_count": 38785, "sum_ttf": 189361 }, "terms": {} }, "sourceNames.all_field.tokenized": { "field_statistics": { "sum_doc_freq": 103038, "doc_count": 39465, "sum_ttf": 123926 }, "terms": {} }, "uiProgramType.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 567655, "doc_count": 39466, "sum_ttf": 1039952 }, "terms": { "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 5.333245 } } }, "categories.all_field.metaphone": { "field_statistics": { "sum_doc_freq": 570764, "doc_count": 39469, "sum_ttf": 1044601 }, "terms": { "MT": { "term_freq": 1, "tokens": [ { "position": 0, "start_offset": 0, "end_offset": 3 } ], "score": 5.333321 } } } } }
Hello, thank you for the report! This seems correct to me, on the TermvectorsRequest side the id is optional, while on the TermvectorsResponse side it's mandatory as the server will always provide it. If this is still an issue, could you please send me an example of a call that fails with the reported error? I tried this out using the java client and couldn't reproduce it. Thanks :)