1. ホーム
  2. python

Elasticsearch : Pythonを使ったインデックスの削除方法

2023-10-01 03:14:30

質問

Python 2.7とElasticsearch 2.1.1を持っていて、インデックスを削除しようとしているところです。

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

が、これでは

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

また

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

と表示されますが

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

何か思い当たることはありますか?Pythonの2.1.1でapiが変更されたのでしょうか?

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

どのように解決するのですか?

docsから、この記法を使う。

from elasticsearch import Elasticsearch
es = Elasticsearch()

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