Post # ElasticSearch packaging method using sql plugin

Post ElasticSearch packaging method sql widget


1.Controller code is as follows

/**
  * Es查询测试
  * */
@RequestMapping("/select")
public List<HashMap<String, Object>> selectEs(){
    String sql="select * from bigdatacar";
    List<HashMap<String, Object>> hashMaps = QueryESListBySql(sql);
    return hashMaps

2. The main dispensing Code

 /**
   * Es查詢
   */
public List<HashMap<String, Object>> QueryESListBySql(String sql) {
    try {
        String url = EsSearchUtils.getUrl();
        String content = "{\"query\":\"" + sql + "\"}";
        Map<String, String> header = new HashMap<>();
        header.put("Content-Type", "application/json");
        header.put("Accept", "*/*");
        //使用jfinal的HttpKit发送Post请求
        String result = HttpKit.post(url, content, header);
        //FastJson进行解析操作
        JSONObject jsonObject = (JSONObject) JSONObject.parse(result);
        JSONArray columns = jsonObject.getJSONArray("columns");
        JSONArray rows = jsonObject.getJSONArray("rows");
        List<HashMap<String, Object>> list = new ArrayList<>();
        for (int i = 0; i < rows.size(); i++) {
            HashMap<String, Object> hashMap = new HashMap<>();
            for (int j = 0; j < columns.size(); j++) {
                hashMap.put((String) columns.getJSONObject(j).get("name"), rows.getJSONArray(i).get(j));
                list.add(hashMap);
            }
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

3.ElasticSearchUtils code is as follows:

/**
  * 得到Es的配置信息
  * */
public static String getUrl(){
	Prop prop= PropKit.use("es.config");
	return prop.get("url");
}

4. FIG query results are as follows:Here Insert Picture Description

Published 122 original articles · won praise 9 · views 3934

Guess you like

Origin blog.csdn.net/qq_37248504/article/details/104256383