public class UpdateElasticAPI { private static RestClient restClient; static { restClient=RestClient.builder(new HttpHost("localhost",9200,"http")).build(); } /** * 1.创建文档 * @throws Exception */ @Test public void CreateDocument()throws Exception{ String method = "PUT"; String endpoint = "/update_index/test/1"; HttpEntity entity = new NStringEntity( "{ " + " "counter" : 1, " + " "tags" : ["red"] " + "}", ContentType.APPLICATION_JSON); Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity); System.out.println(EntityUtils.toString(response.getEntity())); } /** *2. 获取文档 * @throws Exception */ @Test public void getDocument()throws Exception{ String method = "GET"; String endpoint = "/update_index/test/1"; Response response = restClient.performRequest(method,endpoint); System.out.println(EntityUtils.toString(response.getEntity())); } /** * 3.更新文档,给counter字段加4 * @throws Exception */ @Test public void UpdateDocument()throws Exception{ String method = "POST"; String endpoint = "/update_index/test/1/_update"; HttpEntity entity = new NStringEntity( "{ " + " "script" : { " + " "source": "ctx._source.counter += params.count", " + " "lang": "painless", " + " "params" : { " + " "count" : 4 " + " } " + " } " + "}", ContentType.APPLICATION_JSON); Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity); System.out.println(EntityUtils.toString(response.getEntity())); } /** * 4.部分文档更新增加字段(不存在name字段),存在则覆盖 * @throws Exception */ @Test public void SomeUpdateDocument()throws Exception{ String method = "POST"; String endpoint = "/update_index/test/1/_update"; HttpEntity entity = new NStringEntity( "{ " + " "doc" : { " + " "user" : "kimchy" " + " } " + "}", ContentType.APPLICATION_JSON); Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity); System.out.println(EntityUtils.toString(response.getEntity())); } /** * 5.按查询API更新 */ }