我是弹性搜索新手,请尝试下面的帮助。 需要使用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搜索中看到以下数据。
现在我创建了两个doc_type:some_type1和some_type2。 我想通过使用以下行从弹性搜索中删除some_type2 doctype:
es.indices.delete(index="my_index",doc_type="some_type2")
但我收到此错误:
任何人都可以帮助我,如何使用python API从索引中删除doctype。 提前谢谢。
答案 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