springboot(2.2.5)集成elasticsearch(7.6.1)实现单个字段修改。
-
前提是你已经会使用java api 调用elasticsearch
-
elasticsearch的配置文件,
/**
* elasticsearch配置类
*/
@Configuration
public class EsClientConfig {
@Bean
public RestHighLevelClient restHighLevelClient() {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("121.40.56.90", 9200, "http")
));
return client;
}
}
- 修改代码
//修改请求 doc中 "cover" 是elasticsearch中的字段,cover是要修改的内容
public boolean updateCover(String adcode, String cover) throws IOException {
UpdateRequest updateRequest = new UpdateRequest("districts_index", adcode).doc("cover",cover);
UpdateResponse update = restHighLevelClient.update(updateRequest, DEFAULT);
if (update.status() == RestStatus.OK) return true;
return false;
}
这是java api 提供的方法,当然你也可以自己结合script完成更多的骚操作,至于7.6.1版本的script操作我是一个没成功过。有机会一定研究一下。