版本说明
Spring Boot版本2.3.0.RELEASE
ElasticSearch版本7.6.2
集成
项目源码github路径:https://github.com/fenfangchen/spring-elastic7
- 引入maven包,修改配置文件application.yml
引入jar包,*注:若springboot版本低于2.3.0,引入的elastic相关包为6.x版本
<!-- Elasticsearch -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
修改配置文件application.yml
spring:
elasticsearch:
rest:
uris: 127.0.0.1:9200
- 实现基础的增删改查
新增实体类:
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import java.util.Date;
@Data
@Document(indexName = "index_book" ,replicas = 0 ,shards = 3)
public class Book {
@Id
private Long id;
private String name;
private Float price;
private String type;
private Date buyDate;
}
- 新增BookRepository
import com.cff.springelastic.system.domain.Book;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
public interface BookRepository extends ElasticsearchRepository<Book,Long> {
/**
* 通过id获取
* @param id
* @return
*/
Book getById(Long id);
}
可按照规则添加自定义方法,参考Spring Data Elasticsearch官网
- 添加测试类
import com.cff.springelastic.common.domain.MyPage;
import com.cff.springelastic.system.domain.Book;
import com.cff.springelastic.system.repository.BookRepository;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;