Elasticsearch之更新
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( "{\n" + " \"counter\" : 1,\n" + " \"tags\" : [\"red\"]\n" + "}", 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( "{\n" + " \"script\" : {\n" + " \"source\": \"ctx._source.counter += params.count\",\n" + " \"lang\": \"painless\",\n" + " \"params\" : {\n" + " \"count\" : 4\n" + " }\n" + " }\n" + "}", 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( "{\n" + " \"doc\" : {\n" + " \"user\" : \"kimchy\"\n" + " }\n" + "}", ContentType.APPLICATION_JSON); Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity); System.out.println(EntityUtils.toString(response.getEntity())); } /** * 5.按查询API更新 */ }
程序员的眼里,不止有代码和bug,还有诗与远方和妹子!!!