Elasticsearch:如何使用python删除索引
请原谅,如果这是非常基本的,但我有Python 2.7和Elasticsearch 2.1.1,我只是尝试使用Elasticsearch:如何使用python删除索引,python,python-2.7,
elasticsearch,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='rese
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是否已更改
从文档中,使用以下符号:
from elasticsearch import Elasticsearch
es = Elasticsearch()
es.indices.delete(index='test-index', ignore=[400, 404])
如果您有一个文档对象(模型),并且正在使用elasticsearch dsl,特别是Python-3.X,您可以直接调用模型的
\u index
属性的delete
方法
ClassName._index.delete()
也因为它是:
\u index
属性也是load\u mappings方法的主属性,该方法将从elasticsearch更新索引上的映射。如果您使用动态映射并希望类知道这些字段(例如,如果您希望正确(反)序列化日期字段),这将非常有用:
忽略有用吗?
Post._index.load_mappings()