SpringBoot 集成Elasticsearch进行简单增删改查


一、引入的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>elasticsearch</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>elasticsearch</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>com.google.code.gson</groupId>-->
<!--<artifactId>gson</artifactId>-->
<!--<version>2.4</version>-->
<!--</dependency>-->
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
二、编辑配置文件:application.properties
#Elasticsearch
# elasticsearch集群名称,默认的是elasticsearch
spring.data.elasticsearch.cluster-name=elasticsearch1
spring.data.elasticsearch.cluster-nodes=192.168.200.100:9300
spring.data.elasticsearch.properties.transport.tcp.connect_timeout=120s
#是否开启本地存储
#spring.data.elasticsearch.repositories.enable=true
三、索引对应的实体类
package com.example.elasticsearch.entity; import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field; /**
* @Author:
* @Date: 2019/5/10
*/ @Document(indexName = "company",type = "employee",indexStoreType = "fs",shards = 5,replicas = 1,refreshInterval = "-1")
public class Employee {
@Id
private String id; private String firstName;
private String lastName;
private Integer age=0;
private String about; public String getId() {
return id;
} public Employee setId(String id) {
this.id = id;
return this;
} public String getFirstName() {
return firstName;
} public Employee setFirstName(String firstName) {
this.firstName = firstName;
return this;
} public String getLastName() {
return lastName;
} public Employee setLastName(String lastName) {
this.lastName = lastName;
return this;
} public Integer getAge() {
return age;
} public Employee setAge(Integer age) {
this.age = age;
return this;
} public String getAbout() {
return about;
} public Employee setAbout(String about) {
this.about = about;
return this;
} public Employee() {
} @Override
public String toString() {
return "Employee{" +
"id='" + id + '\'' +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", age=" + age +
", about='" + about + '\'' +
'}';
}
}
四、对应的接口
package com.example.elasticsearch; import com.example.elasticsearch.entity.Employee;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; /**
* @Author:
* @Date: 2019/5/10
*/
public interface EmployeeRepository extends ElasticsearchRepository<Employee,String> {
/**
* 查询雇员信息
* @param id
* @return
*/
Employee queryEmployeeById(String id);
}
五、操作类
package com.example.elasticsearch; import com.example.elasticsearch.entity.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* @Author:
* @Date: 2019/5/10
*/
@RestController
@RequestMapping(value = "/find") public class EmployeeController {
@Autowired
private EmployeeRepository employeeRepository;
/**
* 向Es插入一条数据
* @return
*/
@RequestMapping(value = "/add")
public String add() {
Employee employee = new Employee();
employee.setId("1");
employee.setFirstName("xuxu");
employee.setLastName("zh");
employee.setAge(26);
employee.setAbout("i am in peking");
employeeRepository.save(employee);
System.err.println("add a obj");
return "success";
}
/**
* 删除
* @return
*/
@RequestMapping("delete")
public String delete() {
Employee employee = employeeRepository.queryEmployeeById("1");
employeeRepository.delete(employee);
return "success";
} /**
* 局部更新
* @return
*/
@RequestMapping("update")
public String update() {
Employee employee = employeeRepository.queryEmployeeById("1");
employee.setFirstName("哈哈");
employeeRepository.save(employee);
System.err.println("update a obj");
return "success";
}
/**
* 查询
* @return
*/
@RequestMapping("query")
public Employee query() {
Employee accountInfo = employeeRepository.queryEmployeeById("1");
System.out.println("accountInfo = " + accountInfo.toString());
// System.err.println(new Gson().toJson(accountInfo));
return accountInfo;
}
}
六、启动类
package com.example.elasticsearch; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class ElasticsearchApplication { public static void main(String[] args) {
SpringApplication.run(ElasticsearchApplication.class, args);
} }
SpringBoot 集成Elasticsearch进行简单增删改查的更多相关文章
- 04-springboot整合elasticsearch初识-简单增删改查及复杂排序,分页,聚合操作
前面大概了解了一下elasticsearch的数据存储和数据的查询.现在学习一下,es的复杂操作. 官网相关文档地址:https://www.elastic.co/guide/en/e ...
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合
源码 地址 -> https://github.com/TaoPanfeng/case/tree/master/04-mongo/springboot-mongo 一 引入依赖 <depe ...
- elasticsearch实例讲解增删改查
1.首先弄明白四个概念 elasticsearch 关系型数据库 index 数据库 type 表 document 行 field 字段 如果刚一开始理解比较困难,那你就在心中默念100遍,10遍也 ...
- SpringBoot整合MybatisPlus基本的增删改查,保姆级教程
概述 MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动,这里介绍了基本的整合SpringBoot和基础用法. 引入依赖 在项目中 ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
随机推荐
- Java基础学习之数据类型、基础语法与数组(3)
目录 1.数据类型 1.1.基本数据类型 1.2.引用数据类型 1.3.自动装箱与拆箱 2.基础语法 2.1.标识符 2.2.修饰符 2.2.1.访问控制修饰符 2.2.2.非访问控制修饰符 2.3. ...
- 第七篇 Scrum 冲刺博客
一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日完成的工作 今天计划完成的工作 工作中遇到的困难 陈锐基 - 封装消息组件- 我的关注和我的粉丝页面布局- 强化表白墙组件并和详情页对 ...
- 【题解】AcWing 389. 直径
原题链接 题目描述 共两个问题,第一问求树的直径长度,第二问求直径的必须边 思路 第一问很好求,lyd书里有,就不再赘述. 这里建议使用两次bfs的方法,因为关系到第二问的路径,这么做比较方便. 然后 ...
- CSP-S2020复赛游记
[本文经过删改] 前一个月 没做什么 NOIP 的题,感觉这些题对我这个做黄题封顶的人不是很友好. 前一天 考了场模拟赛,全场最低分 89,感觉信心满满. 退役那天 到了 XJ,发现没人可以面基,想着 ...
- Java集合源码分析(十)——TreeSet
简介 TreeSet就是一个集合,里面不能有重复的元素,但是元素是有序的. TreeSet其实就是调用了TreeMap实现的,所以,它也不是线程安全的.可以实现自然排序或者根据传入的Comparato ...
- 转载-没有IE就没有伤害!浏览器兼容性问题解决方案汇总
普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的.俗话说:没有IE就没有伤害. 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和 ...
- 图的遍历DFS
图的遍历DFS 与树的深度优先遍历之间的联系 树的深度优先遍历分为:先根,后根 //树的先根遍历 void PreOrder(TreeNode *R){ if(R!=NULL){ visit(R); ...
- idea 中使用Mybatis Generator逆向工程生成代码
通过MAVEN完成 Mybatis 逆向工程 1. POM文件中添加插件 在 pom 文件的build 标签中 添加 plugin 插件和 数据库连接 jdbc 的依赖. <build> ...
- Security篇:RememberMe
RememberMe功能 rememberMeServices接口 有AbstractRememberMeServices抽象类 PersistentTokenBasedRememberMeServi ...
- 轮廓检测论文解读 | Richer Convolutional Features for Edge Detection | CVPR | 2017
有什么问题可以加作者微信讨论,cyx645016617 上千人的粉丝群已经成立,氛围超好.为大家提供一个遇到问题有可能得到答案的平台. 0 概述 论文名称:"Richer Convoluti ...



