我使用的是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());