2016-02-01 10 views
18

Wybacz mi, jeśli jest to dość proste, ale mam Python 2.7 i Elasticsearch 2.1.1 i jestem po prostu staramy się usunąć indeks używającElasticsearch: Jak usunąć indeks przy użyciu Pythona

es.delete(index='researchtest', doc_type='test') 

ale to daje mi

return func(*args, params=params, **kwargs) 
TypeError: delete() takes at least 4 arguments (4 given) 

próbowałem też

es.delete_by_query(index='researchtest', doc_type='test',body='{"query":{"match_all":{}}}') 

ale mam

AttributeError: 'Elasticsearch' object has no attribute 'delete_by_query' 

Każdy pomysł, dlaczego? Czy api zmieniło się na 2.1.1 dla Pythona?

https://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch.client.IndicesClient.delete

Odpowiedz

30

Od docs, należy użyć tego określenia:

from elasticsearch import Elasticsearch 
es = Elasticsearch() 

es.indices.delete(index='test-index', ignore=[400, 404]) 
+2

dzięki! dokładnie to, czego potrzebowałem – AbtPst