// 返回对象 Result<List<ActionLogVO>> result = new Result(); NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder(); BoolQueryBuilder bool = QueryBuilders.boolQuery(); //must为and的语法 //matchPhraseQuery为将type分词 然后将第二个参数匹配 可以模糊查询使用 bool.must(QueryBuilders.matchPhraseQuery("Type", "日志")); //wildcardQuery模糊查询使用 但是字段需要未英文 bool.must(QueryBuilders.wildcardQuery("userName", "*admin*")); //通过时间筛选 List<QueryBuilder> filters = bool.filter(); filters.add(QueryBuilders.rangeQuery("time").gte(sd.parse("2021-01-19 17:28:41")) .lte(sd.parse("2021-01-19 17:28:43"))); //分页(第一个参数PageNum从第0页开始 第二个参数pageSize) builder.withPageable(PageRequest.of(1, 10)); //排序 builder.withSort(SortBuilders.fieldSort("time").order(SortOrder.ASC)); // 构造查询条件 builder.withQuery(bool); NativeSearchQuery query = builder.build(); Iterable<XXXVO> resultIter = XXXXService.search(query);