• ElasticSearch(三)springboot整合ES


    最基础的整合:

    一、maven依赖

    <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>

    二、配置文件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<UserEntity, String> {
    
    }

    五、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

  • 相关阅读:
    Docker网络管理
    Docker数据管理
    Docker仓库管理
    Docker容器管理
    Docker安装及基本使用方法
    Docker简介
    Ansible安装配置Nginx
    Ansible安装配置及使用
    puppet安装配置及使用
    TCP三次握手、四次挥手与TcpDump抓包分析
  • 原文地址:https://www.cnblogs.com/soft2018/p/10203024.html
Copyright © 2020-2023  润新知