繁体   English   中英

在Elasticsearch中批量删除特定类型的文档

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM