所以,我有以下代码
TermVectorsResponse resp = request.execute().actionGet();
XContentBuilder builder = XContentFactory.jsonBuilder();
resp.toXContent(builder, null);
Map<String, Object> map = XContentHelper.convertToMap(builder.bytes(), false, XContentType.JSON).v2();
return map;
,我的编译器在抱怨,因为它无法解析XContentBuilder的bytes()方法。我的代码适用于Elasticsearch 6.2.2,我知道编译器的错误是因为在Elasticsearch 7.5中,方法bytes()被删除了。因此,我想如何创建map
变量,但我无所不在,却找不到答案。我想我应该创建一个JsonXContent并使用它代替builder.bytes()
或以另一种方式释放字节,但我不确定
预先感谢
答案 0 :(得分:1)
builder.bytes()就像一种反模式,因此您可以使用以下方法从构建器获取BytesReference:
BytesReference.bytes(builder)
7.6的示例: