我使用的是Elasticsearch 6.2.2。这就是我将json字符串转换为Xcontentbuilder的方式。

XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint();
XContentParser parser = JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY, jsonObj.toString());
builder.copyCurrentStructure(parser);

在更新Elasticsearch 6.3+之前,我一直工作良好。
使用相同代码的ES 6.3+出现错误。

最佳答案

编译错误已调出:您的createParser缺少DeprecationHandler 参数

因此,您应该设置DeprecationHandler,例如:

JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY,
                                      LoggingDeprecationHandler.INSTANCE,
                                      jsonObj.toString());

10-07 23:55