有人可以解释 ES java api 有什么问题吗?我正在使用 ES api 通过脚本进行查询以进行更新,并且效果很好(下)
POST user/ut/520411_5752/_update
{
"script": {
"source": "ctx._source.cars.add(params.car)",
"params": {
"car": {
"pub_id":155,
"name":"qwerty"
}
}
}
}
和java
HashMap<String, Object> params = new HashMap<>();
params.put("car", GSON.toJson(car));
Script inline = new Script(ScriptType.INLINE, "painless",
"ctx._source.cars.add(params.car)",
params);
UpdateRequest request = new UpdateRequest(USER, UT, id).script(inline).retryOnConflict(1);
UpdateResponse update = elasticClient.update(request, RequestOptions.DEFAULT);
正如您可能猜到的那样,java 因异常而失败
ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exception, reason=object mapping for [cars] tried to parse field [null] as object, but found a concrete value]]
尝试了不同的选项,空车场,满车场,每次都出现上述异常。