ElasticSearch查询:范围查询(8)

编程步骤

  • 创建Settings配置信息对象

  • 创建ES传输客户端对象

  • 创建搜索请求构建对象(封装查询条件)

  • 执行请求,得到搜索响应对象

  • 获取搜索结果

  • 迭代搜索结果

  • 释放资源

代码实现

 /**
     *
     *  范围查询 : rangeQuery
     *
     * @throws Exception
     */
    @Test
    public void test6() throws Exception {
        //1. 创建Settings配置信息对象
        Settings settings = Settings.builder().put("cluster.name","elasticsearch").build();

        //2. 创建ES传输客户端对象
        TransportClient transportClient = new PreBuiltTransportClient(settings);
        transportClient.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"),9300));

        //3. 创建搜索请求构建对象(封装查询条件)(***)
        SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch("blog3").setTypes("article");
        //3.1 设置查询条件
        // 需求:id>1
        /**
         * gt: 大于
         * gte: 大于等于
         * lt: 小于
         * lte: 小于
         */
        searchRequestBuilder.setQuery(QueryBuilders.rangeQuery("id").from(1,false).to(3,false));

        //4. 执行请求,得到搜索响应对象
        SearchResponse searchResponse = searchRequestBuilder.get();

        //5. 获取搜索结果
        SearchHits hits = searchResponse.getHits();

        //6. 迭代搜索结果
        System.out.println("总命中数:"+hits.totalHits);
        for(SearchHit hit:hits){
            //取出结果
            //System.out.println(hit.getSourceAsMap());

            System.out.println(hit.getSourceAsMap().get("id"));
            System.out.println(hit.getSourceAsMap().get("title"));
            System.out.println(hit.getSourceAsMap().get("content"));

            System.out.println("===================");
        }

        //7. 释放资源
        transportClient.close();

    }

 

 

本站资源除特别声明外,转载文章请声明文章出处
东泰博客 » ElasticSearch查询:范围查询(8)

发表评论