1.创建springboot项目
Pom文件引入elasticsearch依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>
2. yml配置文件添加elasticsearch依赖
#elasticsearch 配置 spring: data: elasticsearch: cluster-name: elasticsearch cluster-nodes: 127.0.0.1:9300 repositories: enabled: true
3. 创建Document 实体类和对应repository
实体类
@Data @Document(indexName = "book",type = "_doc") public class BookBean { @Id private String id; private String title; private String author; private String postDate; public BookBean(){} public BookBean(String id, String title, String author, String postDate){ this.id=id; this.title=title; this.author=author; this.postDate=postDate; } @Override public String toString() { return "BookBean{" + "id=‘" + id + ‘\‘‘ + ", title=‘" + title + ‘\‘‘ + ", author=‘" + author + ‘\‘‘ + ", postDate=‘" + postDate + ‘\‘‘ + ‘}‘; } }
对应repository
public interface BookRepository extends ElasticsearchRepository<BookBean,String> { }
4.创建测试类
@RunWith(SpringRunner.class) @SpringBootTest public class TestEs { @Autowired private ElasticsearchTemplate elasticsearchTemplate; @Autowired private BookRepository bookRepository; */ /** * 创建索引 */ @Test public void createIndex() { // 创建索引,会根据BookBean类的@Document注解信息来创建 elasticsearchTemplate.createIndex(BookBean.class); // 配置映射,会根据Item类中的id、Field等字段来自动完成映射 elasticsearchTemplate.putMapping(BookBean.class); } /** * 删除索引 */ @Test public void deleteBookIndex() { elasticsearchTemplate.deleteIndex("book"); } /** * 删除所有 */ @Test public void delete() { bookRepository.deleteAll(); } /** * 新增 */ @Test public void insert() { BookBean book = new BookBean("2", "ES教程", "程裕强", "2019-10-01"); bookRepository.save(book); } /** * 批量新增 */ @Test public void insertList() { List<BookBean> list = new ArrayList<>(); list.add(new BookBean("3", "ES教程", "程裕强", "2019-10-01")); list.add(new BookBean("4", "ES教程", "程裕强", "2019-10-01")); list.add(new BookBean("5", "ES教程", "程裕强", "2019-10-01")); list.add(new BookBean("6", "ES教程", "程裕强", "2019-10-01")); //接收对象集合,实现批量新增 bookRepository.saveAll(list); } }
原文:https://www.cnblogs.com/koudaiyoutang/p/12157649.html