gpt4 book ai didi

java - 在 ElasticSearch 中获取 SearchResponse 的结果

转载 作者:IT老高 更新时间:2023-10-28 13:24:44 28 4
gpt4 key购买 nike

我正在尝试使用 ES 作为我的 MongoDB 的索引。我已经成功地集成了它们,但我发现搜索 API 相当复杂和令人困惑。 Java API 也没有太大帮助。

我能够找到完全匹配的结果,但我怎样才能得到这个结果?这是我的代码:

Node node = nodeBuilder().node();

SearchResponse sr = node.client().prepareSearch()
.addAggregation(
AggregationBuilders.terms("user").field("admin2san")
.subAggregation(AggregationBuilders.terms("SPT").field("64097"))
)
.execute().actionGet();

SearchHit[] results = sr.getHits().getHits();
List<Firewall> myfirewall = results.getSourceAsObjectList(Firewall.class);
for (Firewall info : myfirewall) {
System.out.println("search result is " + info);
}

最佳答案

我不太确定我是否理解您的问题。

如果您想根据您的示例打印 searchResponse 的结果,它应该是这样的:

SearchHit[] results = sr.getHits().getHits();
for(SearchHit hit : results){
String sourceAsString = hit.getSourceAsString();
if (sourceAsString != null) {
Gson gson = new GsonBuilder().setDateFormat(dateFormat)
.create();
System.out.println( gson.fromJson(sourceAsString, Firewall.class));
}
}

我正在使用 Gson 将 Json 响应转换为 FireWall(POJO)。

我希望它是你要找的。

关于java - 在 ElasticSearch 中获取 SearchResponse 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369962/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com