部分更新和查询更新
部分更新:在需要完成部分文档更新时使用,即在以下示例中,具有 id doc_id
的文档的字段 name
将更新为 John
。请注意,如果缺少该字段,则只会将其添加到文档中。
doc = {
"doc": {
"name": "John"
}
}
es.update(index='index_name',
doc_type='doc_name',
id='doc_id',
body=doc)
按查询更新:在需要更新满足条件的文档时使用,即在下面的示例中,我们更新 name
字段与 John
匹配的文档的年龄。
q = {
"script": {
"inline": "ctx._source.age=23",
"lang": "painless"
},
"query": {
"match": {
"name": "John"
}
}
}
es.update_by_query(body=q,
doc_type='doc_name',
index='index_name')