@Test
public void testQueryPage() {
QueryBuilder orderQuery = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("orderType", "RO"));
Page<OrderItem> page = orderRepository.search(orderQuery, PageRequest.of(0, 1));
System.out.println(page);
page = orderRepository.search(orderQuery, PageRequest.of(1, 1));
System.out.println(page);
}
附录:
1、从名字就能看出来,QueryBuilder主要用来构建查询条件、过滤条件,SortBuilder主要是构建排序。
譬如,我们要查询距离某个位置100米范围内的所有人、并且按照距离远近进行排序:
double lat = 39.929986;
double lon = 116.395645;
Long nowTime = System.currentTimeMillis();
//查询某经纬度100米范围内
GeoDistanceQueryBuilder builder = QueryBuilders.geoDistanceQuery("address").point(lat, lon)
.distance(100, DistanceUnit.METERS);
GeoDistanceSortBuilder sortBuilder = SortBuilders.geoDistanceSort("address")
.point(lat, lon)
.unit(DistanceUnit.METERS)
.order(SortOrder.ASC);
Pageable pageable = new PageRequest(0, 50);
NativeSearchQueryBuilder builder1 = new NativeSearchQueryBuilder().withFilter(builder).withSort(sortBuilder).withPageable(pageable);
SearchQuery searchQuery = builder1.build();
2、