SpringBoot集成Spring-data-Elasticsearch

本文为SpringBoot集成Spring-data-Elasticsearch

转载请注明:http://blog.csdn.net/sinat_28434649/article/details/79315077

1、版本

springboot:2.0.0.RC1
#使用低版本的springboot连接ES失败
elasticsearch:5.5.2

2、SpringBoot配置

application.yml

 spring: 
  data: 
    elasticsearch: 
     clusterName: elastic-cky
     clusterNodes: your_host:9300

自动扫描repositories根目录

@Configuration
@EnableElasticsearchRepositories(basePackages = "com.cky.demo.repositories")
public class ElasticConfig {

}

3、Java类

实体类(doc)

@Document(indexName = "company",type = "employe" , shards = 8, replicas = 1)
public class EmployeesDO implements Serializable{
    private static final long serialVersionUID = -5486342676464419079L;
    @Id
    private Integer empNo;

    private Date birthDate;

    private String firstName;

    private String lastName;

    private String gender;

    private Date hireDate;

    public Integer getEmpNo() {
        return empNo;
    }

    public void setEmpNo(Integer empNo) {
        this.empNo = empNo;
    }

    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getHireDate() {
        return hireDate;
    }

    public void setHireDate(Date hireDate) {
        this.hireDate = hireDate;
    }

    @Override
    public String toString() {
        return "EmployeesDO [empNo=" + empNo + ", birthDate=" + birthDate + ", firstName=" + firstName + ", lastName="
                + lastName + ", gender=" + gender + ", hireDate=" + hireDate + "]";
    }
}

ElasticsearchRepository实现类

package com.cky.demo.repositories;

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import com.cky.demo.domain.EmployeesDO;

public interface EmployeesRepository extends ElasticsearchRepository<EmployeesDO,Integer>{
 
}

4、测试

测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ElasticTest {

    @Autowired
    EmployeesRepository employeesRepository;
    @Test
    public void Test() {
        EmployeesDO employeesDO = new EmployeesDO();
        employeesDO.setEmpNo(123);
        employeesDO.setFirstName("Tom");
        employeesDO.setLastName("jery");
        employeesDO.setGender("M");
        
        employeesRepository.save(employeesDO);
    }
}

成功新增了doc



5、问题:

    主要遇到问题就是Spring-Data-ElasticSearch 和 ElasticSearch版本不匹配,导致一直连接不上ES,这两个版本需要匹配(见官网),spring-boot 1.5.x,不支持高版本的spring-Data-ElasticSearch,因此选用高版本的spring-boot。

spring data elasticsearchelasticsearch
3.0.0.RC25.5.0
3.0.0.M45.4.0
2.0.4.RELEASE2.4.0
2.0.0.RELEASE2.2.0
1.4.0.M11.7.3
1.3.0.RELEASE1.5.2
1.2.0.RELEASE1.4.4
1.1.0.RELEASE1.3.2
1.0.0.RELEASE1.1.1

6、参考文档:

https://github.com/spring-projects/spring-data-elasticsearch

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值