一、安装Elasticsearch
可以参考:Centos7安装Elasticsearch6.4.3和Kibana6.4.3
二、案例代码
1)、相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2)、全局配置
spring:
data:
elasticsearch:
####集群名称
cluster-name: myes
####地址
cluster-nodes: 192.168.43.104:9300
3)、demo举例代码
启动类
@SpringBootApplication
@EnableElasticsearchRepositories(basePackages = "com.zhq.repository")
public class AppElasticsearch {
public static void main(String[] args) {
SpringApplication.run(AppElasticsearch.class,args);
}
}
entity
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
/**
* @author Mr.Zheng
* @Program: parent
* @Description: 用户类
* @date 2020-05-04 10:00
*/
@Data
@Document(indexName = "zhq",type = "user")
public class UserEntity {
@Id
private String id;
private String name;
private Integer age;
private Integer sex;
}
dao
import com.zhq.entity.UserEntity;
import org.springframework.data.repository.CrudRepository;
/**
* @author Mr.Zheng
* @Program: parent
* @Description:
* @date 2020-05-04 10:04
*/
public interface UserDao extends CrudRepository<UserEntity,String> {
}
controller
@RestController
public class UserController {
@Autowired
private UserDao userDao;
/**
* 添加文档
* @param userEntity 用户
*/
@RequestMapping("/addUser")
public Boolean addUser(@RequestBody UserEntity userEntity){
userDao.save(userEntity);
return true;
}
/**
* 通过id查找用户
* @param id 用户id
* @return Optional<UserEntity>
*/
@RequestMapping("/findUserById")
public Optional<UserEntity> findUserById(String id){
return userDao.findById(id);
}
/**
* 查找所有用户
* @return Iterable<UserEntity>
*/
@RequestMapping("/findAllUser")
public Iterable<UserEntity> findAll(){
return userDao.findAll();
}
/**
* 根据id删除用户
* @param id 用户id
* @return boolean
*/
@RequestMapping("/deleteUserById")
public boolean deleteById(String id){
userDao.deleteById(id);
return true;
}
}
三、测试案例