java – 在ElasticSearch中获取SearchResponse的结果
发布时间:2020-05-26 01:33:57 所属栏目:Java 来源:互联网
导读:我正在尝试使用ES作为MongoDB的索引.我成功地将它们集成在一起,但我发现搜索API相当复杂和令人困惑. Java API也没有太大帮助. 我能找到完全匹配,但我怎样才能得到这个结果?这是我的代码: Node node = nodeBuilder().node();SearchResponse sr = node.client
|
我正在尝试使用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). 我希望这就是你要找的东西. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
