刚开始学习Elasticsearch,记录在python3中的使用。
使用pip在python环境中安装elasticsearch(打开cmd输入以下语句):
pip install elasticsearch
安装完成后,在python代码中导入elasticsearch:
from elasticsearch import Elasticsearch
接着获取elasticsearch的实例对象,不传入参数则默认链接本地的,有很多种创建方式,这里使用最简单的方式:
# es = Elasticsearch("http://127.0.0.1:9200")
es = Elasticsearch()
有了实例对象以后,就可以进行增删改查等操作了:
创建索引:
在这里创建一个名为 animal 的索引,参数 ignore=400 的作用在后面讲
result = es.indices.create(index="animal",ignore=400)
print(result)
如果创建成功,打印的 result 如下所示:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'animal'}
为了说明参数 ignore=400 的作用,我们再次执行上面的创建索引语句:
result = es.indices.create(index="animal",ignore=400)
print(result)
这时程序没有抛出异常,而是返回一大段JSON字符串:
{'error': {'root_cause': [{'type': 'resource_already_exists_exception', 'reason': 'index [animal/I-7JrUmJSze-0M546i0CqQ] already exists', 'index_uuid': 'I-7JrUmJSze-0M546i0CqQ', 'index': 'animal'}], 'type': 'resource_already_exists_exception', 'reason': 'index [animal/I-7JrUmJSze-0M546i0CqQ] already exists', 'index_uuid': 'I-7JrUmJSze-0M546i0CqQ', 'index': 'animal'}, 'status': 400}
可以看到,在字符串的最后,有一个 'status': 400 ,所以,ignore=400 的作用就是,当语句执行失败,且 'status' : 400 时,不要抛出异常,而是以返回字符串的形式告诉我们。
如果我们把 ignore=400 去掉