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

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

  • 相关阅读:
    前端经典书籍
    D3基本概念
    Array.map和parseInt的用法
    首屏和白屏时间计算
    css换肤总结
    文件上传总结
    js的uuid
    html5 drag事件用法
    shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断
    Mac vim“装逼”配置
  • 原文地址:https://www.cnblogs.com/huoqm/p/14338348.html
Copyright © 2011-2022 走看看