zoukankan      html  css  js  c++  java
  • es

    我正在尝试使用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).

    我希望这就是你要找的东西.

  • 相关阅读:
    走亲访友
    分而治之
    红色警报
    小字辈
    最长对称子串
    树的遍历
    acwing练习
    组合计数
    同余
    乘法逆元
  • 原文地址:https://www.cnblogs.com/huoqm/p/14338348.html
Copyright © 2011-2022 走看看