zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    微信小程序之自定义toast弹窗
    NPOI 设置导出的excel内容样式
    NPOI excel导出快速构建
    GridView 基本使用
    jqgrid 各种方法参数的使用
    经典SQL语句大全
    jqgrid 加载时第一页面只显示多少条数据
    sqlserver2008 调试存储过程
    jqgrid 上移下移单元格
    jgrid 选择器 C#控件
  • 原文地址:https://www.cnblogs.com/soft2018/p/10203024.html
Copyright © 2011-2022 走看看