elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

如何在Java中从elasticsearch获取hits数据

如何在Java中从elasticsearch获取hits数据,java,elasticsearch,Java,elasticsearch,我用java将elasticsearch响应存储为字符串值,如何只处理hits数据从java访问它的最佳方法是使用Elastic的官方命令。API将允许您使用Java对象,而不是自己处理数据。例如,您希望以Car类型检索所有数据。查询响应存储在searchResponse变量中,获取所有点击并将其序列化到对象。 请看下面的示例: Gson gson = new Gson(); var flowers = new ArrayList<Flower>(); Arrays.stream

我用java将elasticsearch响应存储为字符串值,如何只处理hits数据

从java访问它的最佳方法是使用Elastic的官方命令。API将允许您使用Java对象,而不是自己处理数据。

例如,您希望以
Car
类型检索所有数据。查询响应存储在
searchResponse
变量中,获取所有点击并将其序列化到对象。 请看下面的示例:

Gson gson = new Gson();

var flowers = new ArrayList<Flower>();

Arrays.stream(searchResponse.getHits().getHits()).forEach(hit ->
                    cars.add(gson.fromJson(hit.getSourceAsString(), Car.class)));
Gson-Gson=new-Gson();
var flowers=newarraylist();
Arrays.stream(searchResponse.getHits().getHits()).forEach(hit->
add(gson.fromJson(hit.getSourceAsString(),Car.class));

当然,我使用gson将JSON序列化为对象。

首先需要使用gson、Jackson或其他方法将JSON字符串转换为JSON/map对象

然后,一旦你有了一张地图,点击就在:hits.hits键下,作为一个地图数组,数组中的每个地图都代表一个点击及其元数据。在每次点击中,原始文档都位于“源”键下


我还强烈建议阅读elasticsearch文档,这是一个很好的来源。

…响应的格式是什么?你能分析一下吗…?可能是