使用ElasticsearchRepository和ElasticsearchRestTemplate操作Elasticsearch,Spring Boot整合Elasticsearch
warning:
这篇文章距离上次修改已过470天,其中的内容可能已经有所变动。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Service;
@Service
public class ElasticsearchService {
@Autowired
private ElasticsearchRepository<Sprit, String> spritRepository;
@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;
public void saveSprit(Sprit sprit) {
spritRepository.save(sprit);
}
public List<Sprit> searchSpritByName(String name) {
return spritRepository.findByName(name);
}
public void updateSprit(String id, Sprit sprit) {
sprit.setId(id);
spritRepository.save(sprit);
}
public void deleteSpritById(String id) {
spritRepository.deleteById(id);
}
public void bulkSaveSprit(List<Sprit> sprits) {
spritRepository.saveAll(sprits);
}
public void bulkUpdateSprit(List<Sprit> sprits) {
sprits.forEach(sprit -> spritRepository.save(sprit));
}
public void deleteByQuery(QueryBuilder queryBuilder) {
elasticsearchRestTemplate.delete(queryBuilder, Sprit.class);
}
}这个代码示例展示了如何使用Spring Data Elasticsearch的ElasticsearchRepository和ElasticsearchRestTemplate来进行基本的CRUD操作。saveSprit方法用于保存一个新的Sprit对象,searchSpritByName用于根据名称搜索Sprit对象列表,updateSprit用于更新一个已存在的Sprit对象,deleteSpritById用于根据ID删除一个Sprit对象,bulkSaveSprit和bulkUpdateSprit用于批量保存和更新Sprit对象,deleteByQuery用于根据查询条件删除文档。
评论已关闭