1. 程式人生 > >搜尋elasticSearch 分頁、過濾、源欄位過濾,忽略non-null

搜尋elasticSearch 分頁、過濾、源欄位過濾,忽略non-null

 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}