【ElasticSearch】文档(更新)
==================================================
1、根据ID更新文档
==================================================
1、根据ID更新文档
rest
POST myindex/_update/1 { "doc": { "name": "Smith" } }
client
// 数据 Map<String, String> data = new HashMap<>(); data.put("name", "Smith"); // 索引和ID UpdateRequest updateRequest = new UpdateRequest(index, id); updateRequest.doc(data); // 立即生效 updateRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE); UpdateResponse updateResponse = restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); if (updateResponse.status() == RestStatus.OK) { return true; } else { return false; }
2、存在则更新,不存在则添加
POST myindex/_update/2
{
"doc": {
"name": "Alice Smith"
},
"upsert": {
"name": "Alice Smith"
}
}
3、根据条件更新文档
POST myindex/_update_by_query
{
"query": {
"bool": {
"must": [
{
"term": {
"name": {
"value": "Alice"
}
}
}
]
}
},
"script": {
"lang": "painless",
"source": "ctx._source.name = params.newname",
"params": {
"newname": "New Alice"
}
}
}
4、脚本更新文档
POST myindex/_update/1
{
"script": {
"lang": "painless",
"source": "ctx._source.name = params.name",
"params": {
"name": "Bob"
}
}
}
https://www.liangzl.com/get-article-detail-229731.html
5、脚本更新替换
POST /myindex/_update_by_query
{
"script": {
"source": "ctx._source.resourceContent = ctx._source.resourceContent.replace('123123','123')",
"lang": "painless"
},
"query": {
"bool": {
"must": [
{
"exists": {
"field": "resourceContent"
}
}
]
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南