我的春季网络应用程序中有以下要求:
我使用SearchRequestBuilder编写了使用Java API的搜索,它运行正常:
SearchRequestBuilder request = client.prepareSearch("index").setTypes("type")
.setSearchType(SearchType.QUERY_THEN_FETCH).setFrom(0).setSize(10).addFields(RESPONSE_FIELDS);
//request is much more complicated
//...
SearchResponse response = request.execute().actionGet();
SearchHits hits = response.getHits();
但是为了在谷歌地图上显示它,我宁愿只从弹性搜索中获取JSON对象而不是像这样的SearchResponse对象:
{
"_index": "indexName",
"_type": "type",
"_id": "9094",
"_version": 31,
"found": true,
"_source": {
//list of properties
}
}
是否可以使用Java API + SearchRequestBuilder获取JSON响应,或者我必须使用REST API?
答案 0 :(得分:4)
Java api不会为您映射到json(或任何其他实体)。但是,您可以执行以下操作: