Browse Source

分页查询总数错误的问题

wangzhun 1 year ago
parent
commit
f0e6ba80d5

+ 5 - 2
common-data-es/src/main/java/com/tofly/es/config/ToflyEsRepository.java

@@ -15,6 +15,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.elasticsearch.annotations.Document;
 import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
+import org.springframework.data.elasticsearch.core.aggregation.AggregatedPage;
 import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
 import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
 import org.springframework.data.repository.NoRepositoryBean;
@@ -160,8 +161,10 @@ public interface ToflyEsRepository<T, ID extends Serializable> extends Elasticse
         NativeSearchQueryBuilder nativeSearchQueryBuilder =setNativeSearchQueryBuilder(bean,page, DyMonth,elasticsearchTemplate,queryBuilder);
         List<T> list = elasticsearchTemplate.queryForList(nativeSearchQueryBuilder.build(), this.getEntityClass());
 //        org.springframework.data.domain.Page<T> search = this.search(qb,pageRequest);
-        page.setRecords(list);
-        page.setTotal(list.size());
+        AggregatedPage<T> datas =  elasticsearchTemplate.queryForPage(nativeSearchQueryBuilder.build(), this.getEntityClass());
+
+        page.setRecords(datas.getContent());
+        page.setTotal(datas.getTotalElements());
         return page;
     };