Elasticsearch-springboot 实现分页查询
Elasticsearch-springboot 实现分页查询
·
Elasticsearch-springboot 实现分页查询
@Resource
private ElasticsearchRestTemplate elasticsearchTemplate;
@Override
public Page<List<T>> queryHitByPage(int pageNo, int pageSize, String keyword, String[] fieldNames, Class<T> clazz) {
MultiMatchQueryBuilder queryBuilder =
buildQueryBuilder(keyword, fieldNames);
// 设置高亮字段
HighlightBuilder highlightBuilder =
builderHighlightBuilder(fieldNames);
PageRequest pageRequest = PageRequest.of((pageNo-1),pageSize);
NativeSearchQuery query = new NativeSearchQueryBuilder()
.withQuery(queryBuilder)
.withPageable(pageRequest)
.withHighlightBuilder(highlightBuilder)
.build();
SearchHits<T> search = elasticsearchTemplate.search(query, clazz);
List<T> list = getResultList(fieldNames, search);
Page<List<T>> page = new Page<>();
page.setData(list);
page.setPageNo(pageNo);
page.setPageSize(pageSize);
page.setTotalSize((int)search.getTotalHits());
return page;
}
elasticsearch版本:7.6.2
elasticsearch7.6.2版本下载:https://download.csdn.net/download/liu20121787/87408135
代码详见:https://gitee.com/strambuff/elastic-search-demo.git

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)