代码示例 springboot整合elasticsearch
时间: 2023-06-12 19:02:51 浏览: 125
springboot整合elasticsearch7实现es数据同步,查询、相关度排序、高亮显示、自动补全搜索等功能。
5星 · 资源好评率100%
以下是一个Spring Boot与Elasticsearch集成的示例:
首先,您需要将Elasticsearch的依赖项添加到您的pom.xml文件中:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
然后,您需要在application.properties文件中配置Elasticsearch:
```
spring.data.elasticsearch.cluster-name=my-cluster-name
spring.data.elasticsearch.cluster-nodes=localhost:9300
```
接下来,您需要创建一个Elasticsearch Repository接口,该接口将继承ElasticsearchRepository类:
```
public interface BookRepository extends ElasticsearchRepository<Book, String> {
List<Book> findByTitle(String title);
}
```
在上面的代码中,Book是一个简单的POJO类,它代表一个书籍。findByTitle方法将使用Elasticsearch查询来查找所有标题与给定字符串匹配的书籍。
最后,您可以在您的控制器中注入BookRepository并使用它来执行各种Elasticsearch操作:
```
@RestController
public class BookController {
@Autowired
private BookRepository bookRepository;
@GetMapping("/books")
public List<Book> searchBooks(@RequestParam String title) {
return bookRepository.findByTitle(title);
}
@PostMapping("/books")
public Book addBook(@RequestBody Book book) {
return bookRepository.save(book);
}
}
```
在上面的代码中,searchBooks方法将接受一个标题参数并使用BookRepository执行Elasticsearch查询。addBook方法将接受一个Book对象并使用BookRepository将其保存到Elasticsearch中。
这是一个简单的示例,您可以在此基础上构建更复杂的应用程序。
阅读全文