| 
					
				 | 
			
			
				@ -4,18 +4,23 @@ import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.google.gson.Gson; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.google.gson.JsonArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.google.gson.JsonElement; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.google.gson.JsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.base.es.config.ElastricSearchHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.base.hbase.HBaseHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.datainput.enums.DataTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.datainput.util.ConstantUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.datainput.util.RowKeyUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.searchbox.core.SearchResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.searchbox.core.Update; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.hadoop.hbase.Cell; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.hadoop.hbase.client.Result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.hadoop.hbase.util.Bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.hadoop.hbase.util.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.action.update.UpdateRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.index.query.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.search.builder.SearchSourceBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.search.sort.FieldSortBuilder; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -24,6 +29,7 @@ import org.elasticsearch.search.sort.SortOrder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.elasticsearch.core.query.UpdateQueryBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Component; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -50,7 +56,7 @@ public class DataSearchService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static String getQueryString(String json){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = (JSONObject)JSONObject.parse(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = JSONObject.parseObject(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //第一层query 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject query = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //bool层 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -138,50 +144,31 @@ public class DataSearchService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(CollectionUtils.isEmpty(rowkeys)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultArray.addAll(esResult.getSourceAsStringList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultJsonObj.put("data",resultArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultJsonObj.put("count",esResult.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return resultJsonObj.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //拿到rowkey后,去hbase读取数据内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Result[] hbaseData = hBaseHelper.getResultList(ConstantUtils.tableName,rowkeys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Result res:hbaseData){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<Cell> ceList = res.listCells(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(null == ceList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String, Object> map = new HashMap<String, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String rowkey = Bytes.toString(res.getRow()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //rowkey是根据一些头部数据加密而来,解密即可还原 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String tag = RowKeyUtils.getMessageFromRowKey(rowkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] tags = tag.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("access_token", tags[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("sn", tags[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("ext_code", tags[2]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (ceList != null && ceList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (Cell cell : ceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put(Bytes.toString(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                resultList.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.error("get data from hbase fail.",e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return esResult.getSourceAsString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultArray.addAll(resultList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("data",resultArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("count",esResult.getTotal());//count放最后最先读出来 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultArray.addAll(esResult.getSourceAsStringList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("data", resultArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("count", esResult.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultJsonObj.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (!CollectionUtils.isEmpty(rowkeys)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//         return getDataFromHbase(rowkeys,esResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //List<Map<String, Object>> filter,int page, int size,String sort 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 构造es查询参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param jsonData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "filter":[{"andOr":"and|or","condition":">|=|<|>=|<=|?","field":"<filed>","value":"<value>"},<{...}>], - 参数说明:andOr跟数据库的中的AND和OR相似;condition指条件匹配程度,?相当于数据库中的like;filed指检索的字段;value为检索的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            "page":1,		- 参数格式:页码,默认1,int类型 不需要分页,传"" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            "size":10,		- 参数格式:条数,默认10,int类型 不需要分页,传"" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            "sort":[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     {"key":{"order":"asc|desc"}}, - 参数格式:排序, key要排序的字段,order固定,取值asc或desc,不需要排序,传"" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     {"key":{"order":"asc|desc"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SearchSourceBuilder getQueryBuilder(String jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject json = JSONObject.parseObject(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> filter = (List)json.getJSONArray("filter"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -255,39 +242,108 @@ public class DataSearchService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return searchSourceBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 修改字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * {"rid":"", 要修改的文档data id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  "key":"value", key:要修改的字段,value:要修改的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  <{...}>} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String updateFiled(String json){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return "success"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String updateData(String json) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject params = JSONObject.parseObject(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //拿到rid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String rid = params.getString("rid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject query = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        query.put("rid",rid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String queryString = getQueryString(query.toJSONString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //将该rid的文档取出来 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SearchResult searchResult = elastricSearchHelper.search(ConstantUtils.esIndex, ConstantUtils.esType, queryString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        params.remove("rid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String _id = getEsId(searchResult.getJsonString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String resultSource = searchResult.getSourceAsString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //inner,nested object在es中修改只支持替换整个的object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject resultObject = (JSONObject) JSONObject.parse(String.valueOf(resultSource)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //文档里的data数组对象数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray datas = (JSONArray) resultObject.get("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Object data : datas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject dataJson = (JSONObject) data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.equalsIgnoreCase(rid, dataJson.getString("rid"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String key : params.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataJson.put(key, params.get(key));//改的是data里面的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject updateObj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        updateObj.put("data",datas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        boolean bool = elastricSearchHelper.update(ConstantUtils.esIndex, ConstantUtils.esType, _id, updateObj.toJSONString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        boolean bool = elastricSearchHelper.update(ConstantUtils.esIndex, ConstantUtils.esType, _id, resultObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject updateResult = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        updateResult.put("result", bool); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return updateResult.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void main(String args[]) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String getEsId(String str){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String _id = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = JSONObject.parseObject(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject hist1 = jsonObject.getJSONObject("hits"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray array = (JSONArray)hist1.get("hits"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(Object obj:array){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            _id  = ((JSONObject)obj).getString("_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return _id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据从es中搜索出来的结果去hbase中查询数据内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param rowkeys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param esResult 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getDataFromHbase(List<String> rowkeys,SearchResult esResult){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject resultJsonObj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray  resultArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> resultList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //拿到rowkey后,去hbase读取数据内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Result[] hbaseData = hBaseHelper.getResultList(ConstantUtils.tableName,rowkeys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Result res:hbaseData){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<Cell> ceList = res.listCells(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(null == ceList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String, Object> map = new HashMap<String, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String rowkey = Bytes.toString(res.getRow()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //rowkey是根据一些头部数据加密而来,解密即可还原 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String tag = RowKeyUtils.getMessageFromRowKey(rowkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] tags = tag.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("access_token", tags[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("sn", tags[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("ext_code", tags[2]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (ceList != null && ceList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (Cell cell : ceList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        map.put(Bytes.toString(cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                resultList.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.error("get data from hbase fail.",e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return esResult.getSourceAsString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultArray.addAll(resultList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("data",resultArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultJsonObj.put("count",esResult.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultJsonObj.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void main(String args[]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |