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).

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

  • 相关阅读:
    javascript中的预编译问题
    五环
    两列布局
    定位以及z-index
    [vijos1234]口袋的天空<最小生成树>
    [讲解]prim算法<最小生成树>
    [noip模拟]B<构造>
    [JZOJ5343]健美猫<模拟>
    [noip模拟]心<并查集>
    [noip模拟]种花<快速幂+结论>
  • 原文地址:https://www.cnblogs.com/huoqm/p/14338348.html
Copyright © 2011-2022 走看看