下面我将为您详细讲解Spring Boot整合Spring Data Elasticsearch的完整攻略,其中包括以下步骤:
- 引入依赖
- 配置Elasticsearch
- 创建数据实体类
- 创建Elasticsearch Repository
- 使用Repository进行数据操作
- 示例1:添加数据到Elasticsearch中
- 示例2:从Elasticsearch中查询数据
引入依赖
首先需要在pom.xml中引入Spring Boot和Spring Data Elasticsearch相关依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
配置Elasticsearch
其次,需要在application.properties中配置Elasticsearch相关信息:
# Elasticsearch
spring.data.elasticsearch.cluster-name=my-application
spring.data.elasticsearch.cluster-nodes=localhost:9300
# 日志
logging.level.org.elasticsearch=INFO
创建数据实体类
接着,需要创建一个数据实体类,用于映射Elasticsearch中的索引与文档。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "book", type = "book")
public class Book {
@Id
private String id;
private String name;
private String author;
private Double price;
}
创建Elasticsearch Repository
然后,需要创建一个Elasticsearch Repository,用于操作Elasticsearch中的数据。
public interface BookRepository extends ElasticsearchRepository<Book, String> {
}
使用Repository进行数据操作
最后,在Service层中通过Autowired注入BookRepository即可使用它提供的数据操作方法进行CRUD操作。
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public void save(Book book) {
bookRepository.save(book);
}
public void delete(String id) {
bookRepository.deleteById(id);
}
public Book findById(String id) {
Optional<Book> optional = bookRepository.findById(id);
return optional.orElse(null);
}
public Iterable<Book> findAll() {
return bookRepository.findAll();
}
}
示例1:添加数据到Elasticsearch中
下面是一个示例,演示如何向Elasticsearch中添加一条数据:
Book book = new Book(null, "Spring Boot", "com.neo", 12.0);
bookService.save(book);
示例2:从Elasticsearch中查询数据
下面是一个示例,演示如何从Elasticsearch中查询数据:
Iterable<Book> books = bookService.findAll();
以上就是Spring Boot整合Spring Data Elasticsearch的完整攻略,其中包括引入依赖、配置Elasticsearch、创建数据实体类、创建Elasticsearch Repository、使用Repository进行数据操作以及两个示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Spring Data Elasticsearch的过程详解 - Python技术站