ES-JavaRestClient查询_快速入门

目录

构建并发起请求

解析响应结果

测试


构建并发起请求

ES-JavaRestClient查询_快速入门_第1张图片

request.source()除了可以进行查询,也可进行排序、分页等等,对应的API如下图:

ES-JavaRestClient查询_快速入门_第2张图片

查询通过QueryBuilder进行构建,QueryBuilder是一个接口,其内部有很多不同的实现,对应各种不同的叶子查询,但是我们不需要自己去new QueryBuilder,我们只需要使用工具QueryBuilders,它提供了很多静态方法,可以帮助我们构建各种不同的查询。

QueryBuilders的静态方法如下图:

ES-JavaRestClient查询_快速入门_第3张图片

解析响应结果

ES-JavaRestClient查询_快速入门_第4张图片

测试

@Test
void  testMatchAll() throws IOException {
        //1.创建request对象
        SearchRequest request = new SearchRequest("items");
        //2.配置request参数
        request.source()
                .query(QueryBuilders.matchAllQuery());
        //3.发送请求
        SearchResponse response = client.search(request, RequestOptions.DEFAULT);
        System.out.println("response = " + response);
        //4.解析结果
        SearchHits searchHits = response.getHits();
        //4.1.总条数
        long total = searchHits.getTotalHits().value;
        System.out.println("total = " + total);
        //4.2.命中的数据
        SearchHit[] hits = searchHits.getHits();
        for (SearchHit hit : hits) {
            //4.2.1.获取source结果
            String json = hit.getSourceAsString();
            //4.2.2.转为ItemDoc
            ItemDoc doc = JSONUtil.toBean(json, ItemDoc.class);
            System.out.println("doc = " + doc);
        }
}

结果:

ES-JavaRestClient查询_快速入门_第5张图片

你可能感兴趣的:(微服务,JavaWeb,ES,elasticsearch,搜索引擎)