zoukankan      html  css  js  c++  java
  • 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更新
         */
    
    
    }
  • 相关阅读:
    poj 3278 Catch That Cow(bfs+队列)
    poj 1265 Area(Pick定理)
    poj 2388 Who's in the Middle
    poj 3026 Borg Maze(bfs+prim)
    poj 2485 Highways
    变量引用的错误:UnboundLocalError: local variable 'range' referenced before assignment
    Sysbench硬件基准测试
    Sysbench-OLTP数据库测试
    字典
    操作列表
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148283.html
Copyright © 2011-2022 走看看