python - Elasticsearch : How to delete an Index using python

标签 python python-2.7 elasticsearch

如果这是非常基本的,请原谅我,但我有 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

最佳答案

对于 ES 8+ 使用:

from elasticsearch import Elasticsearch
es = Elasticsearch()

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

对于旧版本,请使用此表示法:

from elasticsearch import Elasticsearch
es = Elasticsearch()

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

关于python - Elasticsearch : How to delete an Index using python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134162/

相关文章:

Python Matplotlib - 绘制长方体

python - 梯度下降算法需要很长时间才能完成 - 效率 - Python

elasticsearch - Logstash/ Elasticsearch : guesses wrong for datatype for field

elasticsearch - CQRS(Lagom)elasticsearch读取侧

amazon-web-services - 每个环境单独的 Dockerrun.aws.json

python - 线程子进程并取得进展

python - 使用odo将数据迁移到SQL

python - 有没有办法在不生成缩略图的情况下使用 sorl-thumbnail url?

python - 将字符串 'abcde' 拆分为具有单独元素的列表

linux - Plone 统一安装程序缺少 Python