我正在使用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(NamedXContentRegistry,DeprecationHandler,String)在 类型JsonXContent不适用于参数 (NamedXContentRegistry,字符串)test.java
答案 0 :(得分:1)
编译错误已指出:您的createParser
缺少DeprecationHandler
参数。
因此,您应该设置DeprecationHandler
,例如:
JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY,
LoggingDeprecationHandler.INSTANCE,
jsonObj.toString());