【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> 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

相关