package com.example.springbootec.service.impl;
import com.example.springbootec.dao.UserRepository;
import com.example.springbootec.pojo.User;
import com.example.springbootec.service.IEmService;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.QueryStringQueryBuilder;
import org.elasticsearch.search.sort.FieldSortBuilder;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: linjie
* @Description: 接口实现类
* @Date: 下午 17:23 2018/7/31 0031
*/
@Service
public class EmServiceImpl implements IEmService {
@Resource
private UserRepository userRepository;
@Override
public User add() {
User user = new User();
user.setId("1");
user.setName("中国一定是天下的武昌无常一定会呵呵");
user.setLastname("java");
user.setAge(21);
userRepository.save(user);
System.err.println("add a obj");
return user;
}
// /**
// * @Author: linjie
// * @Description: 查询
// * 1、设置模糊查询
// * 2、设置某字段精确查询
// * 3、设置年龄从高到低
// * 4、设置分页
// * @Date: 下午 17:00 2018/7/31 0031
// */
// @Override
// public List<User> select() {
// //创建builder
// BoolQueryBuilder builder = QueryBuilders.boolQuery();
// //builder下有must、should以及mustNot 相当于sql中的and、or以及not
// //设置模糊搜索
// //builder.must(QueryBuilders.fuzzyQuery("name", "中国"));
// for(User user :userRepository.findByNameLike("中国")){
// System.out.println(user);
// }
// //设置lastName是zh(精确查询)
// builder.must(new QueryStringQueryBuilder("java").field("lastname"));
//
// //按照年龄从高到低
// FieldSortBuilder sort = SortBuilders.fieldSort("age").order(SortOrder.DESC);
//
// //设置分页(拿第一页,一页显示两条)
// //注意!es的分页api是从第0页开始的(坑)
// PageRequest page = PageRequest.of(0, 2);
//
// //构建查询
// NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
// //将搜索条件设置到构建中
// nativeSearchQueryBuilder.withQuery(builder);
// //将分页设置到构建中
// nativeSearchQueryBuilder.withPageable(page);
// //将排序设置到构建中
// nativeSearchQueryBuilder.withSort(sort);
// //生产NativeSearchQuery
// NativeSearchQuery query = nativeSearchQueryBuilder.build();
//
// //执行
// Page<User> search = userRepository.search(query);
//
// //获取总条数(前端分页需要使用)
// int total = (int) search.getTotalElements();
//
// //获取查询到的数据内容
// List<User> content = search.getContent();
//
// //打印总条数看一下了
// System.out.println(total);
// System.out.println(content);
// return content;
// }
/**
* @Author: 浅然
* @Description: 模糊查询
* @Date: 11:57 2018/8/19
*/
public List<User> select(){
List<User> list = new ArrayList<>();
for(User user : userRepository.findByNameLike("中国")){
list.add(user);
System.out.println(list);
}
return list;
}
/**
* @Author: 浅然
* @Description: 精确查询
* @Date: 12:01 2018/8/19
*/
public User select_one(){
User user = userRepository.findByName("中国一定是天下的武昌无常一定会呵呵");
return user;
}
/**
* @Author: linjie
* @Description: 更新字段数据
* @Date: 下午 17:05 2018/7/31 0031
*/
@Override
public User update() {
User user = userRepository.queryUserById("1");
user.setName("jay");
userRepository.save(user);
System.err.println("update a obj");
return user;
}
/**
* @Author: linjie
* @Description: 删除指定记录
* @Date: 下午 17:20 2018/7/31 0031
*/
@Override
public String delete() {
User user = userRepository.queryUserById("1");
userRepository.delete(user);
return "delete success";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
人工智能-项目实践-搜索引擎-SpringBoot+ElasticSearch全文搜索引擎
共13个文件
java:7个
properties:2个
xml:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2024-02-26
16:52:14
上传
评论
收藏 55KB ZIP 举报
温馨提示
人工智能-项目实践-搜索引擎-SpringBoot+ElasticSearch全文搜索引擎
资源推荐
资源详情
资源评论
收起资源包目录
springboot-ec-master.zip (13个子文件)
springboot-ec-master
mvnw.cmd 5KB
pom.xml 3KB
src
test
java
com
example
springbootec
SpringbootEcApplicationTests.java 356B
main
resources
application.properties 301B
java
com
example
springbootec
controller
UserController.java 2KB
dao
UserRepository.java 761B
pojo
User.java 2KB
service
IEmService.java 977B
impl
EmServiceImpl.java 5KB
SpringbootEcApplication.java 363B
.mvn
wrapper
maven-wrapper.properties 110B
maven-wrapper.jar 46KB
mvnw 6KB
共 13 条
- 1
资源评论
博士僧小星
- 粉丝: 1711
- 资源: 5876
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功