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