Python Api删除Elasticsearch中的doc_type

时间:2016-02-29 13:59:12

标签: python-2.7 elasticsearch

我是弹性搜索新手,请尝试下面的帮助。 需要使用python API从elasticsearch索引中删除doctype。

from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
es.indices.create(index="my_index")

es.index(index="my_index",doc_type="some_type1",id=101, body={'name':'Jack1'})
es.index(index="my_index",doc_type="some_type1",id=102, body={'name':'Jack2'})
es.index(index="my_index",doc_type="some_type1",id=103, body={'name':'Jack3'})
es.index(index="my_index",doc_type="some_type1",id=104, body={'name':'Jack4'})

es.index(index="my_index",doc_type="some_type2",id=101, body={'name':'Jack1'})
es.index(index="my_index",doc_type="some_type2",id=102, body={'name':'Jack2'})
es.index(index="my_index",doc_type="some_type2",id=103, body={'name':'Jack3'})
es.index(index="my_index",doc_type="some_type2",id=104, body={'name':'Jack4'})

运行上面的代码后,我可以在elasctic搜索中看到以下数据。

enter image description here

现在我创建了两个doc_type:some_type1和some_type2。 我想通过使用以下行从弹性搜索中删除some_type2 doctype:

es.indices.delete(index="my_index",doc_type="some_type2")

但我收到此错误: enter image description here

任何人都可以帮助我,如何使用python API从索引中删除doctype。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

删除方法不需要 doc_type 。您必须添加 id ,这将被删除。

例如:

es.delete(index="posts", id=2) # delete id=2
es.indices.delete(index='posts', ignore=[400, 404]) # remove all records