【RestTemplate/Elasticsearch】一次性创建多个文档

【代码】

复制代码
import com.alibaba.fastjson.JSONObject;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class Test1 {
    public static void main(String[] args) throws Exception {
        for(int i=0;i<10;i++){
            Map<String,String> map=new LinkedHashMap<>();
            map.put("name","emp"+i);
            map.put("age",""+(20+i));

            String rsps=invoke("http://192.168.32.130:9200/moft/emp/"+(200+i)+"?pretty",map);
            System.out.println(rsps);
        }
    }

    public static String invoke(String url, Map params) throws Exception {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.parseMediaType("application/json; charset=UTF-8"));
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        HttpEntity<String> httpEntity = new HttpEntity<String>(JSONObject.toJSONString(params), headers);

        RestTemplate rst = new RestTemplate();
        ResponseEntity<String> stringResponseEntity = rst.postForEntity(url, httpEntity, String.class);

        return stringResponseEntity.getBody();
    }

}
复制代码

【结果】

http://192.168.32.130:9200/moft/emp/_search

{"took":473,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":13,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"moft","_type":"emp","_id":"111","_score":1.0,"_source":{"name":"hy","age":"25"}},{"_index":"moft","_type":"emp","_id":"112","_score":1.0,"_source":{"name":"巴菲特","age":"27"}},{"_index":"moft","_type":"emp","_id":"113","_score":1.0,"_source":{"name":"比尔盖茨","age":"29"}},{"_index":"moft","_type":"emp","_id":"200","_score":1.0,"_source":{"name":"emp0","age":"20"}},{"_index":"moft","_type":"emp","_id":"201","_score":1.0,"_source":{"name":"emp1","age":"21"}},{"_index":"moft","_type":"emp","_id":"202","_score":1.0,"_source":{"name":"emp2","age":"22"}},{"_index":"moft","_type":"emp","_id":"203","_score":1.0,"_source":{"name":"emp3","age":"23"}},{"_index":"moft","_type":"emp","_id":"204","_score":1.0,"_source":{"name":"emp4","age":"24"}},{"_index":"moft","_type":"emp","_id":"205","_score":1.0,"_source":{"name":"emp5","age":"25"}},{"_index":"moft","_type":"emp","_id":"206","_score":1.0,"_source":{"name":"emp6","age":"26"}}]}}

END

 

posted @   逆火狂飙  阅读(274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-02-25 Oracle的timestamp字段更新实验 结论:只有逐条更新才能保证timestamp字段有差别,批量更新只会得到一致的时间,此操作无关时间精度.
2015-02-25 【高中数学/极值问题】已知:a,b皆为正实数,且2a+b=1,求:a/(2-2a)+b/(2-b)的最小值?
2014-02-25 【Canvas与光阑】立方体六彩光阑
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示