您现在的位置是:主页 > news > 网站建设是指/网店运营推广中级实训

网站建设是指/网店运营推广中级实训

admin2025/5/13 2:49:15news

简介网站建设是指,网店运营推广中级实训,wordpress 菜单 字体,长春建设厅网站首页一、前提 1.springboot 版本为2.2.2.RELEASE 2.spring-boot-starter-data-elasticsearch 版本 跟随springboot版本 3.elasticsearch 版本为6.4.2 需要说明的一点 :拿mysql 类比elasticsearch 类比有点不妥,但是鉴于大部分人都是从传统关系型数据如 mys…

网站建设是指,网店运营推广中级实训,wordpress 菜单 字体,长春建设厅网站首页一、前提 1.springboot 版本为2.2.2.RELEASE 2.spring-boot-starter-data-elasticsearch 版本 跟随springboot版本 3.elasticsearch 版本为6.4.2 需要说明的一点 :拿mysql 类比elasticsearch 类比有点不妥,但是鉴于大部分人都是从传统关系型数据如 mys…

一、前提

1.springboot 版本为2.2.2.RELEASE
2.spring-boot-starter-data-elasticsearch 版本 跟随springboot版本
3.elasticsearch 版本为6.4.2

需要说明的一点 :拿mysql 类比elasticsearch 类比有点不妥,但是鉴于大部分人都是从传统关系型数据如 mysql ,慢慢才接触到elasticsearch 所以拿两者进行对比,比较好理解和快速上手!

本项目的完整源码地址:
https://github.com/Dr-Water/springdata-es-action

二 、数据准备

  1. 首先准备安装好 es 和 准备实验数据 ,可以参考如下链接
    springboot集成spring-data-elasticsearch 完成对es的操作
    ElasticSearch实战 之 es的安装和使用

实验数据如下:
在这里插入图片描述

二、实验

在kibana中修改几条es中的数据

PUT /myes/myuser/1001
{"id": 1001,"firstName": "张","lastName": "三峰","age": 1001,"about": "中华人民共和国"}PUT /myes/myuser/1002
{"id": 1002,"firstName": "张","lastName": "无极","age": 1002,"about": "中华人民共和国公民"}PUT /myes/myuser/1003
{"id": 1003,"firstName": "王","lastName": "科","age": 1003,"about": "中华人民共和国"}

修改完记得刷新一下es ,有时候es 不会立即生效
在这里插入图片描述

2.1 and

select * from user where about='中华人民共和国' and firstName=‘张’
  @GetMapping("/and")public Page<User> query( Integer pageNum, Integer pageSize) {if(pageNum == null || pageNum <= 0){pageNum = 1;}if(pageSize == null || pageSize <= 0){pageSize = 5;}SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("about","中华人民共和国")).must(QueryBuilders.termQuery("firstName","张"))).withPageable(PageRequest.of(pageNum - 1, pageSize)).build();System.out.println(searchQuery.getQuery());Page<User> page = estemplate.queryForPage(searchQuery, User.class);return  page;}

2.2 or

select * from user where about='中华人民共和国' and firstName=‘王’
@GetMapping("/or")public Page<User> query2( Integer pageNum, Integer pageSize) {if(pageNum == null || pageNum <= 0){pageNum = 1;}if(pageSize == null || pageSize <= 0){pageSize = 5;}SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.boolQuery().should(QueryBuilders.termQuery("about","中华人民共和国")).should(QueryBuilders.termQuery("firstName","王"))).withPageable(PageRequest.of(pageNum - 1, pageSize)).build();System.out.println(searchQuery.getQuery());Page<User> page = estemplate.queryForPage(searchQuery, User.class);return  page;}

2.3 and or 连用

select * from user where  firstName='张' and( firstName='王’ or about='中华人民共和国公民')
@GetMapping("/andOr")public Page<User> query3( Integer pageNum, Integer pageSize) {if(pageNum == null || pageNum <= 0){pageNum = 1;}if(pageSize == null || pageSize <= 0){pageSize = 5;}SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("firstName","张")).must(QueryBuilders.boolQuery().should(QueryBuilders.termQuery("firstName","王")).should(QueryBuilders.termQuery("about","中华人民共和国公民")))).withPageable(PageRequest.of(pageNum - 1, pageSize)).build();System.out.println(searchQuery.getQuery());Page<User> page = estemplate.queryForPage(searchQuery, User.class);return  page;}

2.4 like

select * from user where about like '%中华%'
@GetMapping("/like")public Page<User> query4( Integer pageNum, Integer pageSize) {if(pageNum == null || pageNum <= 0){pageNum = 1;}if(pageSize == null || pageSize <= 0){pageSize = 5;}SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.wildcardQuery("about","*中华*")).withPageable(PageRequest.of(pageNum - 1, pageSize)).build();System.out.println(searchQuery.getQuery());Page<User> page = estemplate.queryForPage(searchQuery, User.class);return  page;}

2.5 in

select * from user where about in ('中华人民共和国','中华人民共和国公民')
@GetMapping("/in")public Page<User> query5( Integer pageNum, Integer pageSize) {if(pageNum == null || pageNum <= 0){pageNum = 1;}if(pageSize == null || pageSize <= 0){pageSize = 5;}SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(QueryBuilders.boolQuery().should(QueryBuilders.termQuery("about","中华人民共和国")).should(QueryBuilders.termQuery("about","中华人民共和国公民"))).withPageable(PageRequest.of(pageNum - 1, pageSize)).build();System.out.println(searchQuery.getQuery());Page<User> page = estemplate.queryForPage(searchQuery, User.class);return  page;}