完全覆盖_source elasticsearch-py

时间:2017-10-09 03:37:19

标签: python json elasticsearch elasticsearch-py

我正在尝试接受JSON块,以便它完全覆盖Elasticsearch记录。在我看来,更新会添加新密钥(如果它们不存在),或者覆盖它们,但是它不会删除更新中未包含的密钥。

我的用户将发送旧版_source字段的已编辑JSON,因此最简单的更新方法是删除旧的_source并使用新的JSON作为全新的{{1} }。我到目前为止:

_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]')

有没有办法用新的JSON文档完全覆盖Elasticsearch文档?

0 个答案:

没有答案