当前位置: 首页 > wzjs >正文

静海网站建设制作全国知名网站排名

静海网站建设制作,全国知名网站排名,盐城网站开发怎么样,学做ppt网站本文使用SpringBoot整合ElasticSearch实现分页查询 文章目录 环境准备分页查询方式一方式二 本文小结 环境准备 还是继续使用spring-boot-starter-data-elasticsearch来实现分页查询操作 <!-- spring-boot-starter-data-elasticsearch--> <dependency><groupId&…

本文使用SpringBoot整合ElasticSearch实现分页查询

文章目录

  • 环境准备
  • 分页查询
    • 方式一
    • 方式二
  • 本文小结


环境准备

还是继续使用spring-boot-starter-data-elasticsearch来实现分页查询操作

<!-- spring-boot-starter-data-elasticsearch-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.6.6</version>
</dependency>

数据准备

在这里插入图片描述


分页查询

方式一

使用ElasticsearchRestTemplate来实现


import cn.wideth.po.Article;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.SearchHit;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;@Slf4j
@Api(value = "es分页查询测试")
@RestController
@RequestMapping("/api/listEs")
public class ArticleListController {@Autowiredprivate ElasticsearchRestTemplate elasticsearchRestTemplate;// 分页列表查询// 旧版本的 Repository 中的 search 方法被废弃了。// 这里采用 ElasticSearchRestTemplate@GetMapping("/pageList")@ApiOperation("ES分页查询-方法一")public Map pageList(Integer currentPage, Integer limit) {NativeSearchQuery query = new NativeSearchQuery(new BoolQueryBuilder());query.setPageable(PageRequest.of(currentPage, limit));// 方法1:SearchHits<Article> searchHits = elasticsearchRestTemplate.search(query, Article.class);List<Article> articles = searchHits.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());Map jsonResult = new LinkedHashMap<>();jsonResult.put("count", searchHits.getTotalHits());jsonResult.put("articles", articles);return jsonResult;}
}

程序结果

在这里插入图片描述


方式二

使用ElasticsearchOperations来实现

import cn.wideth.po.Article;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.SearchHit;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;@Slf4j
@Api(value = "es分页查询测试2")
@RestController
@RequestMapping("/api/listEs")
public class ArticleListTwoController {@Autowiredprivate ElasticsearchOperations elasticsearchOperations;// 分页列表查询// 旧版本的 Repository 中的 search 方法被废弃了。// 这里采用 ElasticsearchOperations 来进行分页查询@GetMapping("/pageList2")@ApiOperation("ES分页查询-方法二")public Map pageList2(Integer currentPage, Integer limit) {NativeSearchQuery query = new NativeSearchQuery(new BoolQueryBuilder());query.setPageable(PageRequest.of(currentPage, limit));// 方法2:SearchHits<Article> searchHits = elasticsearchOperations.search(query, Article.class);List<Article> articles = searchHits.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());Map jsonResult = new LinkedHashMap<>();jsonResult.put("count", searchHits.getTotalHits());jsonResult.put("articles", articles);return jsonResult;}}

程序结果

在这里插入图片描述


本文小结

本文记录了SpringBoot整合ElasticSearch来实现分页查询的两种方式

http://www.dtcms.com/wzjs/87781.html

相关文章:

  • 网站开发需要看哪些书济南seo的排名优化
  • 手机软件开发商seo是什么意思电商
  • 做租赁的行业网站哪里有免费的网站推广服务
  • 企业网站栏目设置说明权重查询爱站网
  • 惠州网站制作设计腾讯企点注册
  • 服务器出租网站模板哈尔滨seo关键字优化
  • 网站建设方案之目标百度网站制作
  • app客户端网站建设方案怎样做网站
  • 东莞做网站公司首选自建站模板
  • 晋城建设局官方网站网站开发技术
  • 网站开发中 整体框架的架构自媒体发布平台
  • 网站兼容性sem培训学校
  • 做动漫网站的素材直播网站排名
  • 湖南装修公司口碑最好的是哪家西安新站网站推广优化
  • 网站设计公司西安seo的理解
  • 邮箱或企业邮箱东莞seo报价
  • php网上商城系统seo经理
  • 昌平网站开发多少钱网站排名优化快速
  • 建设银行网站设计特点重庆seo外包平台
  • 品牌网站制作流程广告主平台
  • 怎样手机做网站教程现在搜索引擎哪个比百度好用
  • 查看网站dns班级优化大师网页版
  • wordpress视频教程湖南专业seo公司
  • 网站建设600分站优缺点销售网站有哪些
  • 广州荔湾做网站公杭州搜索推广公司
  • 南宁 做网站怎么在百度发布个人简介
  • 我想做个网站找谁做市场营销主要学什么
  • 厦门微信网站开发广告的六种广告形式
  • 网站平面图要怎么做今天上海重大新闻事件
  • 视觉设计师前景网站站内关键词优化