• Elasticsearch示例


    /**
     * @author: yqq
     * @date: 2019/2/28
     * @description:
     */
    public class TestMain {
        private static RestClient restClient;
    
        static {
            restClient=RestClient.builder(new HttpHost("localhost",9200,"http")).build();
        }
    
        /**
         * 1.查询所有数据
         * @throws Exception
         */
        @Test
        public void QueryAllSkuId() throws Exception {
            String method = "POST";
            String endpoint = "/sku/doc/_search";
            HttpEntity entity = new NStringEntity("{
    " +
                    "  "query": {
    " +
                    "    "match_all": {}
    " +
                    "  }
    " +
                    "}", ContentType.APPLICATION_JSON);
    
            Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    
        /**
         * 2.查询匹配,message为条件,新增的时候必须包含该字段
         * @throws IOException
         */
        @Test
        public void searchSkuId () throws IOException {
    
            /**
             * 添加的数据格式
             {"skuId":"111111111","content":"对于非基本类型,也就是常说的引用数据类型"}
             */
    
            String method = "POST";
            String endpoint = "/sku/doc/_search";
            HttpEntity entity = new NStringEntity(
                    "{
    " +
                            "  "query": { 
    " +
                            "    "match": {
    " +
                            "      "content": "基本类型"
    " +
                            "    }
    " +
                            "  }
    " +
                            "}", ContentType.APPLICATION_JSON);
            Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    
    
        /**
         * 3.查询所有数据
         * @throws Exception
         */
        @Test
        public void QueryAll() throws Exception {
            String method = "POST";
            String endpoint = "/delete-index/_search/";
            HttpEntity entity = new NStringEntity("{
    " +
                    "  "query": {
    " +
                    "    "match_all": {}
    " +
                    "  }
    " +
                    "}", ContentType.APPLICATION_JSON);
    
            Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    
        /**
         *4. 查询匹配,message为条件,新增的时候必须包含该字段
         * @throws IOException
         */
        @Test
        public void search () throws IOException {
    
            /**
             * 添加的数据格式
             {
    " +
             "    "user" : "kimchy",
    " +
             "    "post_date" : "2009-11-15T14:12:12",
    " +
             "    "message" : "trying out Elasticsearch"
    " +
             "}
             */
    
            String method = "POST";
            String endpoint = "/delete-index/_search/";
            HttpEntity entity = new NStringEntity(
                    "{
    " +
                            "  "query": { 
    " +
                            "    "match": {
    " +
                            "      "message": "out"
    " +
                            "    }
    " +
                            "  }
    " +
                            "}", ContentType.APPLICATION_JSON);
            Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
            System.out.println(EntityUtils.toString(response.getEntity()));
        }
    }

     引入依赖:

            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-client</artifactId>
                <version>6.5.3</version>
            </dependency>        
  • 相关阅读:
    vue项目中使用axios上传图片等文件
    es6入门set和map
    自定义组件实现双向数据绑定
    vue watch详细用法
    bind,call,applay的区别
    前端路由两种模式:hash、history
    jsonp封装成promise
    正则元字符理解2
    webpack配置
    vuex的几个细节
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148299.html
Copyright © 2020-2023  润新知