将ElasticSearch SearchResponse对象转换为JsonObject

时间:2017-09-13 06:13:21

标签: json elasticsearch

我想将elasticsearch搜索结果转换为Json Object。我没有找到任何直接转换的正确方法。

SearchResponse response = client.prepareSearch(index).setExplain(true).execute().actionGet();

response->JSON Object.

有没有办法将ElasticSearch响应转换为Json对象?

2 个答案:

答案 0 :(得分:2)

在Java中,您可以直接将SearchResponse转换为JSONObject。 下面是方便的代码。

SearchResponse SR = builder.setQuery(QB).addAggregation(AB).get();

JSONObject SRJSON = new JSONObject(SR.toString());

答案 1 :(得分:0)

您需要使用SearchResponse.toXContent()方法,如下所示:

SearchResponse response = client.prepareSearch(index).setExplain(true).execute().actionGet();

XContentBuilder builder = XContentFactory.jsonBuilder();
response.toXContent(builder, ToXContent.EMPTY_PARAMS);
JSONObject json = new JSONObject(builder.string());