2017-09-13 55 views
1

我想將elasticsearch搜索結果轉換爲Json對象。我還沒有找到任何直接轉換的正確方法。將ElasticSearch SearchResponse對象轉換爲JsonObject

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

response->JSON Object. 

有沒有辦法將ElasticSearch響應轉換爲Json對象?

回答

2

在Java中,你可以直接在SearchResponse轉換爲JSONObject的。 下面是方便的代碼。

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

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

好點,這是更清潔! – Val

+0

是啊,謝謝! @val –

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());