// 返回对象
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);