1.Python模块的安装
pip install elasticsearch
2.Python 连接ElasticSearch
from elasticsearch import Elasticsearch# es = Elasticsearch() # 默认连接本地elasticsearch# es = Elasticsearch(['127.0.0.1:9200']) # 连接本地9200端口es = Elasticsearch( ["192.168.1.10", "192.168.1.11", "192.168.1.12"], # 连接集群,以列表的形式存放各节点的IP地址 sniff_on_start=True, # 连接前测试 sniff_on_connection_fail=True, # 节点无响应时刷新节点 sniff_timeout=60 # 设置超时时间)
3.配置忽略响应的状态码
es = Elasticsearch(['127.0.0.1:9200'],ignore=400) # 忽略返回的400状态码es = Elasticsearch(['127.0.0.1:9200'],ignore=[400, 405, 502]) # 以列表的形式忽略多个状态码
4.es连接对象的操作
- es.index, 向指定索引添加或者更新文档,如果索引不存在,首先会创建改索引,然后再执行添加或者更新操作。
print(es.index(index='w2', doc_type='doc', id='4', body={"name":"可可", "age": 18})) # 正常print(es.index(index='w2', doc_type='doc', id=5, body={"name":"卡卡西", "age":22})) # 正常print(es.index(index='w2', doc_type='doc', body={"name": "鸣人", "age": 22})) # 可以不指定id,默认生成一个id
- es.get,查询索引中指定文档
print(es.get(index='w2', doc_type='doc', id=5))
- es.get_source,通过索引类型和ID获取文档的来源,直接返回需要的字典
print(es.get_source(index='py3', doc_type='doc', id='1')) # {'name': '王五', 'age': 19}
es.search,执行搜索查询并获取与查询匹配的搜索匹配。这个用的最多,可以跟复杂的查询条件。