Elasticsearch 是一个强大的搜索引擎,它不仅支持文档的增加、查询和删除操作,还提供了灵活的文档更新功能。在 Elasticsearch 中,你可以全量更新文档,也可以增量更新文档的特定字段。本文将介绍这两种更新文档的方法。
全量更新文档
全量更新意味着使用新的文档完全替换旧文档。这通常用于当文档的大部分或全部字段都需要更新时。
语法
PUT /索引库名/_doc/文档id
{
"字段1": "新值1",
"字段2": "新值2",
...
}
示例
PUT /heima/_doc/1
{
"info": "高级Java讲师",
"email": "[email protected]",
"name": {
"firstName": "云",
"lastName": "赵"
}
}
这个请求将更新 heima
索引库中 ID 为 1
的文档,替换其所有字段为请求中指定的新值。
增量更新文档
增量更新是指只更新文档中的特定字段,而不影响其他字段。这适用于只需要更新文档中少数几个字段的情况。
语法
POST /索引库名/_update/文档id
{
"doc": {
"字段名": "新的值"
}
}
示例
POST /heima/_update/1
{
"doc": {
"email": "[email protected]"
}
}
这个请求将只更新 heima
索引库中 ID 为 1
的文档的