ElasticSearch学习(十)在Java应用中range查询、prefix查询、wildcard查询、fuzzy查询、type查询、id查询

    //range查询(限定范围查询)
    @Test
    public void test14() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //范围查询
        QueryBuilder builder = QueryBuilders
                .rangeQuery("birthday")
                .from("1990-01-01")
                .to("2000-12-30")
                .format("yyyy-MM-dd");
        SearchResponse response = client.prepareSearch("lib3")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }
    }

    //prefix查询(前缀查询)
    @Test
    public void test15() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //前缀查询
        PrefixQueryBuilder builder = QueryBuilders.prefixQuery("name", "zhao");

        SearchResponse response = client.prepareSearch("lib3")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }
    }
    //wildcard查询(通配符查询)
    @Test
    public void test16() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //通配符查询
        WildcardQueryBuilder builder = QueryBuilders.wildcardQuery("name", "zhao*");
        SearchResponse response = client.prepareSearch("lib3")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }

    }

    //fuzzy查询(模糊查询)
    @Test
    public void test17() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //模糊查询
        FuzzyQueryBuilder builder = QueryBuilders.fuzzyQuery("interests", "duanlin");

        SearchResponse response = client.prepareSearch("lib3")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }

    }


    //type查询(类型查询)
    @Test
    public void test18() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //type查询(类型查询)
        QueryBuilder builder = QueryBuilders.typeQuery("blog");
        SearchResponse response = client.prepareSearch("index1")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }

    }
    //id查询
    @Test
    public void test19() throws Exception {
        //指定ES集群
        Settings settings = Settings.builder().put("cluster.name", "my-application").build();

        //创建访问ES服务器的客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));

        //id查询
        QueryBuilder builder = QueryBuilders.idsQuery().addIds("1","3");
        SearchResponse response = client.prepareSearch("lib3")
                .setQuery(builder)
                .get();
        SearchHits hits = response.getHits();
        for (SearchHit hit : hits){
            System.out.println(hit.getSourceAsString());
        }

    }

猜你喜欢

转载自blog.csdn.net/qq_41851454/article/details/81390818
今日推荐