ElasticSearch(三)springboot整合ES
阅读原文时间:2023年07月09日阅读:1

最基础的整合:

一、maven依赖

org.springframework.boot spring-boot-starter-parent 2.0.0.RELEASE
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-elasticsearch org.projectlombok lombok

二、配置文件application.yml

spring:
data:
elasticsearch:
####集群名称
cluster-name: myes
####地址
cluster-nodes: 192.168.212.xxx:9300

三、实体类UserEntity

@Document(indexName = "mymayikt", type = "user")
@Data
public class UserEntity {
@Id
private String id;
private String name;
private int sex;
private int age;
}

四、dao层代码(实现CrudRepository就可以了,里面封装很多操作ES的方法)

public interface UserReposiory extends CrudRepository {

}

五、controller层

@RestController
public class EsController {

@Autowired  
private UserReposiory userReposiory;

@RequestMapping("/addUser")  
public UserEntity addUser(@RequestBody UserEntity user) {  
    return userReposiory.save(user);  
}

@RequestMapping("/findUser")  
public Optional<UserEntity> findUser(String id) {  
    return userReposiory.findById(id);  
}  

}

六、启动类

@SpringBootApplication
@EnableElasticsearchRepositories(basePackages = "com.dyh.dao")
public class AppEs {

public static void main(String\[\] args) {  
    SpringApplication.run(AppEs.class, args);  
}  

}

直接启动会报错:

None of the configured nodes are available:

  解决方案(项目配置文件cluster-name要与ElasticSearch的配置文件属性值要相同):

    Vi /usr/local/elasticsearch-6.4.3/config/elasticsearch.yml

    cluster.name: myes

也可以参考这个博客:https://www.cnblogs.com/dalaoyang/p/8990989.html