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: