1. @SpringBootTest
    2. public class MyTest{
    3. //注入RestHighLevelClient对象
    4. @Autowired
    5. private RestHighLevelClient restHighLevelClient;
    6. @Test
    7. public void test() throws IOException {
    8. //准备SearchRequest请求对象,并指定索引库名
    9. SearchRequest searchRequest = new SearchRequest(索引库名);
    10. //准备MatchAllQueryBuilder查询对象
    11. MatchAllQueryBuilder matchAllQueryBuilder = QueryBuilders.matchAllQuery();
    12. //在SearchRequest请求对象中放入MatchAllQueryBuilder查询对象
    13. searchRequest.source().query(matchAllQueryBuilder);
    14. //在SearchRequest请求对象中进行排序
    15. searchRequest.source().sort(字段名, SortOrder.ASC);
    16. //在SearchRequest请求对象中进行分页
    17. searchRequest.source().from(跳过多少条数据).size(页面展示多少条数据);
    18. //发送请求,得到响应对象
    19. SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
    20. //从响应对象中获取响应结果
    21. SearchHits searchHits = searchResponse.getHits();
    22. //获取文档的总条数
    23. long total = searchHits.getTotalHits().value;
    24. //获取搜索结果数组
    25. SearchHit[] hits = searchHits.getHits();
    26. //创建文档集合,用于存放结果
    27. List<文档类名> 集合对象名 = new ArrayList<>();
    28. //遍历数组
    29. for (SearchHit hit : hits) {
    30. //获取Json格式的文档内容
    31. String json = hit.getSourceAsString();
    32. //反序列化Json,这里需要引入fastjson的依赖
    33. 文档类名 文档对象名 = JSON.parseObject(json, 文档类名.class);
    34. //将结果放入集合
    35. 集合对象名.add(文档对象名);
    36. }
    37. }
    38. }