文档章节

Python学习笔记 - 02: 用Python Client连接ElasticSearch操作数据

d
 dragon_tech
发布于 2019/03/13 10:52
字数 513
阅读 117
收藏 0

Python Elasticsearch Client 是 ES 官方推荐的 python 客户端,这里以它为工具操作 elasticsearch

一、环境依赖
Python:3.6

ES依赖包:pyelasticsearch

ElasticSearch:6.5.4

操作系统:MacOS

二、准备数据
json文件

https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json?raw=true

三、包含模块
from elasticsearch import Elasticsearch
#或者
import elasticsearch #调用的时候需要elasticsearch.Elasticsearch
四、连接ES
es = Elasticsearch([{"host":"localhost","port":9200}])
五、单一操作
查看集群状态

from elasticsearch import Elasticsearch
es=Elasticsearch([{"host":"localhost","port":9200}])
print(es.cluster.state())
查看集群健康度

from elasticsearch import Elasticsearch
es=Elasticsearch([{"host":"localhost","port":9200}])
print(es.cluster.health())
增加一条文档

from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"localhost","port":9200}])
print(es.cluster.state())
b= {"name": 'lu', 'sex':'female', 'age': 10}
es.index(index='bank', doc_type='typeName',body=b,id=None)
print(es.cluster.state())
删除一条文档

from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"localhost","port":9200}])
es.delete(index='bank', doc_type='typeName', id='idValue')
修改一条文档

from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"localhost","port":9200}])
es.update(index='bank', doc_type='typeName', id='idValue', body={待更新字段})
查询一条文档

from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"localhost","port":9200}])
find=es.get(index='bank', doc_type='typeName', id='idValue')
print(find)
六、批量操作
从json文件中批量添加文档

from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"localhost","port":9200}])
with open('./accounts.json','r',encoding='utf-8') as file:
    s =file.read()
    print(s)
    es.bulk(index='bank',doc_type='typeName',body=s)
按条件删除文档

query = {'query': {'match': {'sex': 'famale'}}}# 删除性别为女性的所有文档
 
query = {'query': {'range': {'age': {'lt': 11}}}}# 删除年龄小于51的所有文档
 
es.delete_by_query(index='indexName', body=query, doc_type='typeName')
按条件查询文档

query = {'query': {'match_all': {}}}# 查找所有文档
 
query = {'query': {'term': {'name': 'jack'}}}# 查找名字叫做jack的所有文档
 
query = {'query': {'range': {'age': {'gt': 11}}}}# 查找年龄大于11的所有文档
 
allDoc = es.search(index='indexName', doc_type='typeName', body=query)
 
print allDoc['hits']['hits'][0]# 返回第一个文档的内容
Python Elasticsearch Client 还提供了很多功能

参考文档

https://elasticsearch-py.readthedocs.io/en/master/api.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html
 

本文转载自:https://blog.csdn.net/u011682283/article/details/85265121

d
粉丝 6
博文 556
码字总数 15235
作品 0
西安
私信 提问
加载中

评论(0)

raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)

python 连接 elasticsearch 的时候报错: 原因:Python Elasticsearch Client的版本与Elasticsearch 的版本不一致,版本的对应关系如下 如何查询版本? Elasticsearch Python Elasticsearch...

十动然拒
2019/02/26
289
0
Scrapy分布式爬虫打造搜索引擎-(八)elasticsearch结合django搭建搜索引擎

Python分布式爬虫打造搜索引擎 基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站 推荐前往我的个人博客进行阅读:http://blog.mtianyan.cn/ 目录分章效果更佳哦 分章查看...

天涯明月笙
2017/07/01
0
0
elasticsearch curator离线源码安装

1.安装setuptools wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip unzip setuptools-33.1.1.zip cd setuptools-33.1.1 python setup.py install 2.安装urllib3 w......

yuanyb
2017/10/20
56
0
Python与Elasticsearch的接口【未测试】

Python与Elasticsearch的接口 目前,有两个标准库提供了Python与Elasticsearch之间的接口:https://elasticsearch-py.readthedocs.io/en/master/http://pyelasticsearch.readthedocs.io/en/......

dragon_tech
2018/12/20
89
0
在 Python 中使用 Elasticsearch

在这篇文章中,我将讨论 Elasticsearch 以及如何将其整合到不同的 Python 应用程序中。 什么是 ElasticSearch? ElasticSearch(ES)是一个建立在 Apache Lucene 之上的高度可用的分布式开源...

xjtuhit
2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

仁怀哪里可以开餐饮费发票-中国新闻网

仁怀哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723687
56分钟前
44
0
资兴哪里可以开餐饮费发票-中国新闻网

资兴哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723480
今天
36
0
沅江哪里可以开餐饮费发票-中国新闻网

沅江哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723685
今天
36
0
天津哪里可以开餐饮费发票-中国新闻网

天津哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723617
今天
33
0
汨罗哪里可以开餐饮费发票-中国新闻网

汨罗哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17060820048
今天
38
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部