from elasticsearch import Elasticsearch
# elasticsearch集群服务器的地址,IP可以是localhost,也可为指定的远程IP地址
ES = ['IP:9200']
# 创建es客户端
# sniff_on_start:启动前嗅探es集群服务器 sniff_on_connection_fail:es集群服务器结点连接异常时是否刷新es节点信息 sniffer_timeout:每多少秒刷新节点信息
es = Elasticsearch(ES, sniff_on_start=True, sniff_on_connection_fail=True, sniffer_timeout=60)
print(es)
二、操作
创建索引
result = es.indices.create(index='news',ignore=400)
print(result) # acknowledged 字段表示创建操作执行是否成功
删除索引
result = es.indices.delete(index='new', ignore=[400, 404])
print(result)
插入数据
data_list = [
{ "title": "标题1",
"datetime": "2021-09-27",
},{
"title": "标题2",
"datetime": "2021-09-27",
}
]
n_id=0
for i in data_list:
n_id +=1
result= es.create(index="news",body=i,id=n_id)
print(result)
更新数据
result = es.update(index='news',doc_type="article",id=1,body=data)
print(result)
删除数据
result = es.delete(index='news',id=1)
print(result)
查询数据
q3 = {"query":{
"bool":{
"must":[
{"match":{"datetime":"2021-09-27"}},
{"match_phrase_prefix":{"title":"标题*"}},
]
}
}
}
result = es.search(index='table_name', body=q)
print(result)
if result['hits']['hits']:
for i in result['hits']['hits']:
print(i['_source'])