springboot2整合elasticsearch6.x(spring-boot-starter-data-elasticsearch)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013219624/article/details/84861746

1.maven依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

2.application.properties

spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=172.22.2.133:9300
spring.data.elasticsearch.repositories.enabled=true

3.User对象

@Document(indexName = ESConstant.DATA_INDEX_NAME, type = ESConstant.DATA_INDEX_TYPE)
@ToString
public class User {

    @Setter @Getter
    private Long id;

    @Setter @Getter
    private String name;

    @Setter @Getter
    private Integer age;

    @Setter @Getter
    private String address;

    public User() {}

    public User(String name, Integer age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }
}

4.直接使用ElasticsearchTemplate

@Autowired
private ElasticsearchTemplate elasticsearchTemplate;

@Test
public void matchQueryAll() {
    SearchQuery searchQuery = new NativeSearchQuery(QueryBuilders.matchAllQuery());
    List<User> users = elasticsearchTemplate.queryForList(searchQuery, User.class);
    System.out.println(users.toString());
}

5.或者使用ElasticsearchRepository

@Repository
public interface UserRepository extends ElasticsearchRepository<User, String> {
}

@Autowired
private UserRepository userRepository;

@Test
public void saveTest() {
    User user = new User();
    user.setName("userRepository");
    user.setAge(11);
    userRepository.save(user);
    System.out.println(user);
}

源码:https://gitee.com/jsjack_wang/springboot-demo dev-es分支

猜你喜欢

转载自blog.csdn.net/u013219624/article/details/84861746