springboot2整合elasticsearch6.x(spring-boot-starter-data-elasticsearch)
阿新 • • 發佈:2018-12-10
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分支