我试图接受一个JSON块,以便它完全覆盖Elasticsearch记录。在我看来,更新将添加新的密钥(如果不存在),或者覆盖它们(如果存在),但它不会删除更新中未包含的密钥。在
我的用户将发送经过编辑的JSON,它是旧的_source
字段,因此最简单的更新方法是删除旧的_source
,并使用新的JSON作为全新的_source
。到目前为止:
from elasticsearch import Elasticsearch
ES = Elasticsearch()
ES.update(index=ELASTIC_INDEX_NAME, doc_type=ELASTIC_EVENT_DOC_TYPE_NAME, id="44", body={"script": {"source": "ctx.op = 'delete'", "lang": "painless"}})
TransportError: TransportError(500, u'script_parse_exception', u'unexpected field [source]')
也未能仅删除一个密钥以查看是否可以在以下位置执行此操作:
^{pr2}$有没有办法用新的JSON文档完全覆盖Elasticsearch文档?在
目前没有回答
相关问题 更多 >
编程相关推荐