(只写我的做法)
1、读取数据库中或者文件中的数据(本次是mysql中有相应的数据)并且格式化到一个json文件中
代码如下:
@GetMapping("/toJson")
public ResultModel toJson(@RequestParam String sql){
Map sqlmap = new HashMap<>();
sqlmap.put("selectSQL",sql);
List> ll = caserecordService.executeSelect(sqlmap);
FileOutputStream o = null;
File f = new File("C:\\Users\\Administrator\\Desktop\\data3.json");
try {
o = new FileOutputStream(f);
for (Map map :ll){
o.write(("{ \"index\" : { \"_index\" : \"infos\", \"_type\" : \"court_info\", \"_id\" : \""+String.valueOf(map.get("id"))+"\" } }"+"\n").getBytes("utf-8"));
o.write((JSON.toJSONString(map)+"\n").getBytes("utf-8"));
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
o.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
获得的文件为(内容片段):
数据库中:
2、将data.json上传到服务器
3、在json文件所在的目录下运行语句:
curl -XPOST ip:9200/_bulk --data-binary @data3.json
网友评论