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

时间:2016-07-11 18:01:50

标签: python-3.x elasticsearch

我有一个名为" animals"在弹性搜索中。它包含几个类型"狗"的文件。 我想删除所有"狗"动物中的文件"指数。我正在使用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

定义

1 个答案:

答案 0 :(得分:0)

elasticsearch-py中没有api删除所有类型的文档。这是因为Elasticsearch 2.x以后没有api来删除type。 来自documentation

  

在1.x中可以删除一个类型   映射,以及该类型的所有文档,使用   删除映射API。这不再受支持,因为残余   类型中的字段可能保留在索引中,从而导致损坏   以后。

     

相反,如果您需要删除类型映射,则应重新索引到a   新索引,不包含映射。如果你只是需要   删除属于该类型的文档,然后使用   而是逐个删除插件。