1.创建es对象
@Autowired
@Lazy
private ElasticsearchRestTemplate restTemplate;
2.创建文档对象
//创建文档对象
Document document = Document.create();
document.putIfAbsent("collectionCount",worksSku.getCollectionCount());//赋值收藏量
document.setId(worksSkuId);//文档id
//创建更新查询
UpdateQuery build = UpdateQuery.builder(worksSkuId).withDocument(document) .withScriptedUpsert(true) .build();
restTemplate.update(build, IndexCoordinates.of("lili_qrworks"));
3.如果启动时报错信息如下:
APPLICATION FAILED TO START
Description:
Field restTemplate in cn.lili.modules.cart.service.impl.CartImpl required a bean of type ‘org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate’ that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type ‘org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate’ in your configuration.
Disconnected from the target VM, address: ‘127.0.0.1:52393’, transport: ‘socket’
Process finished with exit code 1
4.这个时候添加懒加载注解就好了
@Lazy