zoukankan      html  css  js  c++  java
  • 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>        
  • 相关阅读:
    mysql分组查询
    (三)分布式数据库tidb-隔离级别详解
    (二)分布式数据库tidb-事务
    (一)ArrayList集合源码解析
    (一)分布式数据库tidb-简介
    (二)LinkedList集合解析及手写集合
    电商数仓中需要统计的指标
    实时推荐模型的算法设计
    数据库需要掌握到什么程度可以应付工作?
    Mysql的万能优化方法
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/11148299.html
Copyright © 2011-2022 走看看