[英]Bulk delete documents of a specific type in elasticsearch
我在elasticsearch中有一个称为“动物”的索引。 包含几个“ dogs”类型的文档。 我想删除“动物”索引中的所有“狗”文档。 我正在使用python elasticsearch包。 我的python代码如下:
connection = Elasticsearch([{"host": "myhost", "port": "myport" } ])
body = {} # What should I put in the body???
connection.bulk(body, index="animals", doc_type="dogs", ignore=[400, 404])
在这里,我不知道我需要什么,放于body
。 谁能帮我吗?
批量方法在https://github.com/elastic/elasticsearch-py/blob/master/elasticsearch/client/ init .py#L1002中定义
elasticsearch-py
没有api来删除所有类型的文档。 这是因为从Elasticsearch 2.x开始,没有用于删除type
api。 从文档中
在1.x中,可以使用Delete Mapping API删除类型映射以及该类型的所有文档。 不再支持此操作,因为类型中字段的剩余部分可能保留在索引中,从而在以后导致损坏。
相反,如果需要删除类型映射,则应将索引重新索引为不包含该映射的新索引。 如果您只需要删除属于该类型的文档,则可以使用按查询删除插件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.