將mysql中的數(shù)據(jù)向es中批量添加數(shù)據(jù)

(只寫我的做法)

1、讀取數(shù)據(jù)庫(kù)中或者文件中的數(shù)據(jù)(本次是mysql中有相應(yīng)的數(shù)據(jù))并且格式化到一個(gè)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;

}

獲得的文件為(內(nèi)容片段):

數(shù)據(jù)庫(kù)中:

2、將data.json上傳到服務(wù)器

3、在json文件所在的目錄下運(yùn)行語(yǔ)句:

curl -XPOST ip:9200/_bulk --data-binary @data3.json

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容