int page = request.getPage();
int size = request.getSize();
//创建查询构建器
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
//添加源过滤
queryBuilder.withSourceFilter(new FetchSourceFilter(new String[]{"id","subTitle","skus"},null));
//分页
queryBuilder.withPageable(PageRequest.of(page,size));
//过滤
queryBuilder.withQuery(QueryBuilders.matchQuery("all",request.getKey()));
Page<Goods> result = goodsRepository.search(queryBuilder.build());
//解析分页结果
long total = result.getTotalElements();
int totalPages = result.getTotalPages();
List<Goods> goodsList = result.getContent();
return new PageResult<>(total,Long.valueOf(totalPages+""),goodsList);
int page = request.getPage(); int size = request.getSize(); //创建查询构建器 NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder(); //添加源过滤 queryBuilder.withSourceFilter(new FetchSourceFilter(new String[]{"id","subTitle","skus"},null)); //分页 queryBuilder.withPageable(PageRequest.of(page,size)); //过滤 queryBuilder.withQuery(QueryBuilders.matchQuery("all",request.getKey())); Page<Goods> result = goodsRepository.search(queryBuilder.build()); //解析分页结果 long total = result.getTotalElements(); int totalPages = result.getTotalPages(); List<Goods> goodsList = result.getContent(); return new PageResult<>(total,Long.valueOf(totalPages+""),goodsList);
Springboot 配置想页面返回时,不要返回null值
jackson:
default-property-inclusion: non_null
server:
port: 8083
spring:
application:
name: search-service
data:
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: 192.168.159.254:9300
jackson:
default-property-inclusion: non_null
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka
instance:
lease-renewal-interval-in-seconds: 5 # 每隔5秒发送一次心跳
lease-expiration-duration-in-seconds: 10 # 10秒不发送就过期
prefer-ip-address: true
ip-address: 127.0.0.1
instance-id: ${spring.application.name}:${server.port}