Spring Boot 集成 Elasticsearch 实战
warning:
这篇文章距离上次修改已过194天,其中的内容可能已经有所变动。
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@Document(indexName = "product")
public class Product {
@Id
private String id;
private String title;
private double price;
// 省略构造函数、getter和setter方法
}
// 使用Spring Data Elasticsearch的Repository
public interface ProductRepository extends ElasticsearchRepository<Product, String> {
// 可以根据需要添加自定义查询方法
}
// 服务层实现
@Service
public class ProductService {
@Autowired
private ProductRepository productRepository;
public List<Product> searchByTitle(String title) {
// 使用Elasticsearch的查询构造器来构造查询
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
boolQueryBuilder.must(QueryBuilders.matchQuery("title", title));
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(boolQueryBuilder)
.build();
return productRepository.search(searchQuery).getContent();
}
}
这个代码实例展示了如何在Spring Boot应用中定义一个Elasticsearch文档模型,并使用Spring Data Elasticsearch的ElasticsearchRepository
来执行基本的CRUD操作以及自定义搜索方法。在这个例子中,我们定义了一个Product
文档,并在ProductService
中添加了一个searchByTitle
方法,该方法使用Elasticsearch的查询DSL来根据产品标题进行搜索。
评论已关闭