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(
                "{
" +
                        "    "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更新
     */


}
原文地址:https://www.cnblogs.com/heqiyoujing/p/11148283.html