基于Python操作ElasticSearch

本文详细介绍了如何使用Python的pyelasticsearch库进行ElasticSearch的CRUD操作,包括单一操作如插入、删除、查找和更新,以及批量操作如搜索、删除和更新。特别强调了bulk方法的使用,它能有效减少系统开销并支持多种操作的混合执行。文中给出了错误处理和批量操作的字典格式示例,并推荐了一种Python技巧来快速构造所需的数据结构。
摘要由CSDN通过智能技术生成

环境依赖:

  Python:2.7
  ES依赖包:pyelasticsearch
  ElasticSearch:5.5.1 / 6.0.1
  操作系统:Windows 10 / CentOS 7

 本文主要就ES基本的CRUD操作做以归纳整理,ES官方对Python的依赖支持有很多,eg:pyelasticsearch、ESClient、elasticutils、pyes、rawes、Surfiki Refine等。博主在工作中只涉及到了pyelasticsearch,所以本文主要就该依赖做说明,其他的依赖包可详见官网
 pyelasticsearch依赖包的安装命令:pip install elasticsearch

 pyelasticsearch依赖所提供的接口不是很多,下面主要从单一操作和批量操作两大类做以讨论和分析。

单一操作

插入
  create:必须指定待查询的idnex、type、id和查询体body;缺一不可,否则报错
  index:相比于create,index的用法就相对灵活很多;id并非是一个必选项,如果指定,则该文档的id就是指定值,若不指定,则系统会自动生成一个全局唯一的id赋给该文档。
eg:

body = {
  "name": 'lucy', 'sex': 'female', 'age': 10}
es = Elasticsearch(['localhost:9200'])
es.index(index='indexName', doc_type='typeName', body, id=None)

删除
  delete:删除指定index、type、id的文档

es.delete(index='indexName', doc_type='typeName', id='idValue')

查找
  get:获取指定index、type、id所对应的文档

es.get(index=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值