1、创建索引
命令如下
from elasticsearch import Elasticsearch es = Elasticsearch([{"host":"10.87.6.3","port":9200},]) s = "test" + "python" try: ret = es.indices.create(index=s) except Exception as e: print(e) else: print("创建成果") print(ret)
返回的结果如下,证明创建成果
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'testpython'}
返回的结果如下,证明创建失败
RequestError(400, 'resource_already_exists_exception', 'index [testpython/yEzYUZEiTjaZWxtN0RM_Uw] already exists')
2、删除索引
代码如下
try: ret = es.indices.delete(index=s) except Exception as e: print(e) else: print("删除成果") print(ret)
返回结果,证明删除成果
{'acknowledged': True}
返回结果,证明删除失败
NotFoundError(404, 'index_not_found_exception', 'no such index')
3、插入数据
for i in range(100,100000): s = "python操作els的的实例" + str(i) print(s) data = {"title": s, "auther": "zgj"} index = "students" try: result = es.create(index = index,body=data,id=i,doc_type="class1") except Exception as e: print(e) else: print(result)
这里使用create方法需要指定文档的id,这里也可以采用index的方法,用index方法,则不需要传递id这个字段,elasticsearch会自动为我们生成id
结果如下
{'_index': 'students', '_type': 'class1', '_id': '79406', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 2, 'failed': 0}, '_seq_no': 15816, '_primary_term': 1} python操作els的的实例79407
4、更新文档
data = {"doc": {"title": "我是一个众人过", "auther": "zgj", "age":23} } ret = es.update(index="students",body=data,doc_type="class1",id=10000) print(ret)
这里需要注意,要更新的数据要要放在一个大字典的,k为字符串doc,v为我们要更新的数据
我们查看结果
[root@es2 index]# curl -XGET 'http://10.87.6.3:9200/students/class1/10000?pretty=true' { "_index" : "students", "_type" : "class1", "_id" : "10000", "_version" : 3, "_seq_no" : 41345, "_primary_term" : 2, "found" : true, "_source" : { "title" : "我是一个众人过", "auther" : "zgj", "age" : 23 } }
5、删除文档
for i in range(1,100000): ret = es.delete(index="students",doc_type="class1",id=i) print(ret)