最基础的整合:html
1、maven依赖node
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <dependencies> <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> </dependencies>
2、配置文件application.ymlweb
spring:
data:
elasticsearch:
####集群名称
cluster-name: myes
####地址
cluster-nodes: 192.168.212.xxx:9300
3、实体类UserEntityspring
@Document(indexName = "mymayikt", type = "user") @Data public class UserEntity { @Id private String id; private String name; private int sex; private int age; }
4、dao层代码(实现CrudRepository就能够了,里面封装不少操做ES的方法)app
public interface UserReposiory extends CrudRepository<UserEntity, String> { }
5、controller层elasticsearch
@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); } }
6、启动类maven
@SpringBootApplication @EnableElasticsearchRepositories(basePackages = "com.dyh.dao") public class AppEs { public static void main(String[] args) { SpringApplication.run(AppEs.class, args); } }
直接启动会报错:spring-boot
None of the configured nodes are available:spa
解决方案(项目配置文件cluster-name要与ElasticSearch的配置文件属性值要相同):code
Vi /usr/local/elasticsearch-6.4.3/config/elasticsearch.yml
cluster.name: myes
也能够参考这个博客:https://www.cnblogs.com/dalaoyang/p/8990989.html