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更新
         */
    
    
    }
  • 相关阅读:
    C# 学习之旅(1)
    SqlServer安装教程
    Aop和Filter区别
    Redis入门
    SpringMVC与Struts2的主要区别
    SpringMVC执行流程
    ssm初始化环境搭建
    Oracle 高效分页
    Oracle 综合:游标和动态SQL
    Oracle 动态SQL
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148283.html
Copyright © 2011-2022 走看看