java处理获取到的Elasticsearch数据


通过Elasticsearch-java的API获取到的数据格式为json格式,如下所示

 

如果获取sum,avg值等格式会有所变化

        JSONObject obj = JSON.parseObject(esResult.getString());
        // 图一
        List<Map<String ,Object>> list = new ArrayList<Map<String ,Object>>();

        try {
            List<Map> hits = (List<Map>) PropertyUtils.getNestedProperty(obj, "hits.hits");
            if(hits != null){
                for(Map json : hits){
                    Map<String ,Object> span = new HashMap<String ,Object>();
                    Map _sc = (Map) json.get("_source");
                    span.put("T_deviceIp", _sc.get("T_deviceIp"));
                    span.put("cpuPercent", _sc.get("cpuPercent"));
                    list.add(span);
                }
            }        
        } catch (Exception  e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
        //图2
        JSONObject obj = JSON.parseObject(esResult.getString());
        List<Map<String ,Object>> list = new ArrayList<Map<String ,Object>>();
        try {
            List<Map> buckets = (List<Map>)PropertyUtils.getNestedProperty(obj, "aggregations.ip.buckets");
            
            for(Map json : buckets){
                Map<String ,Object> span = new HashMap<String ,Object>();
                span.put("ip", json.get("key"));

                }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM