以下是在Spring Boot中整合Elasticsearch的案例代码:
1. 添加Elasticsearch依赖
在项目的pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
2. 配置Elasticsearch连接
在application.properties或application.yml文件中添加以下配置:
spring.data.elasticsearch.cluster-name=your-cluster-name
spring.data.elasticsearch.cluster-nodes=localhost:9300
其中,your-cluster-name是Elasticsearch集群的名称,localhost:9300是Elasticsearch节点的地址。
3. 创建Elasticsearch实体类
创建一个Java类,表示要在Elasticsearch中索引的实体。例如,创建一个Book实体类:
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@Document(indexName = "book", type = "book")
public class Book {
@Id
private String id;
private String title;
private String author;
// 省略构造方法、getter和setter方法
}
4. 创建Elasticsearch仓库接口
创建一个继承自ElasticsearchRepository的接口,用于操作Elasticsearch中的数据。例如,创建一个BookRepository接口:
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
public interface BookRepository extends ElasticsearchRepository<Book, String> {
List<Book> findByTitle(String title);
}
5. 使用Elasticsearch仓库接口
在需要使用Elasticsearch的地方,注入BookRepository接口,并调用其方法进行数据操作。例如,在一个Controller类中使用BookRepository进行数据查询:
@RestController
public class BookController {
@Autowired
private BookRepository bookRepository;
@GetMapping("/books/{title}")
public List<Book> getBooksByTitle(@PathVariable String title) {
return bookRepository.findByTitle(title);
}
}
以上就是在Spring Boot中整合Elasticsearch的基本代码示例。根据具体需求,可以进一步学习和使用Elasticsearch的高级功能,例如自定义查询方法、分页查询、聚合查询等。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END