部分更新和查詢更新
部分更新:在需要完成部分文件更新時使用,即在以下示例中,具有 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')