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