我正在使用以下Java代码查询elasticsearch 7.3并获取1个文档。我将其设置为仅具有最高分数的1个文档。一切正常,文档还给我。
@Autowired
RestHighLevelClient client;
@RequestMapping(value = "/search", method = RequestMethod.GET)
public @ResponseBody
String getItem(@RequestParam("string") String string) throws IOException {
QueryBuilder matchQueryBuilder = QueryBuilders.simpleQueryStringQuery(string);
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(matchQueryBuilder);
sourceBuilder.from(0);
sourceBuilder.size(1);
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
SearchRequest searchRequest = new SearchRequest("nutrients");
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
return searchResponse.toString();
}
响应如下,我想使用Calories , Fat , Protein , Carbohydrate
的Java代码访问值,而忽略其他Nutrient
的值。
我需要使用String caloriesVar=153 kcal
之类的4个变量中的值,而其他3个变量也需要类似的值。
[