Python连接es笔记四之创建和删除操作
本文首发于公众号:Hunter后端
原文链接:Python连接es笔记四之创建和删除操作
这一篇笔记介绍一下索引和数据的创建和删除。
其实对于索引来说,如果可以接触到 kibana 的话,可以很方便的在界面进行操作,这里简单介绍一下如何使用代码来操作索引的创建和删除。
索引的创建和删除操作
使用的还是 es 的连接:
from elasticsearch_dsl import connections
connections.configure(
default={"hosts": "localhost:9200"},
)
conn = connections.connections.get_connection("default")
创建索引
index_name = "test_create"
conn.indices.create(index_name)
检测索引是否存在
print(conn.indices.exists(index_name))
返回的是一个布尔型数据。
删除索引
conn.indices.delete(index_name)
数据的创建和删除
创建单条数据
还是默认使用刚刚创建的索引 test_create,我们需要往里面加入一条数据,示例如下:
index_name = "test_create"
conn.index(
index=index_name,
id=1,
body={
"name": "李白"
}
)
这样就往里面写入了一条 id=1 的数据,如果不指定 id 参数,系统会为我们自动分配一个 id:
conn.index(
index=index_name,
body={
"name": "李白"
}
)
这种创建方式也是允许的。
批量创建数据
这里用到在批量更新时候的使用过的 elasticsearch.helpers 函数。
示例如下:
action_1 = {
"_op_type": "index",
"_index": "test_create",
"doc": {"age": 20, "name": "杨过", "address": "终南山"},
}
action_2 = {
"_op_type": "index",
"_index": "test_create",
"doc": {"age": 21, "name": "郭靖", "address": "桃花岛"},
}
action_list = [action_1, action_2]
helpers.bulk(conn, actions=action_list)
在这里,因为是创建数据,所以 _op_type 的值为 index,剩下的使用方法和之前更新的操作一致。
删除操作
删除操作在第一篇笔记介绍查询数据的时候带过一笔,就是通过 Search() 方法加入条件后,不执行 execute(),而是执行 delete() 函数进行删除:
s = Search(using="default").index("exam").query("match", name="张三丰")
s.delete()
还有一种 es 连接直接操作的 delete_by_query() 函数,示例如下:
conn = connections.connections.get_connection("default")
q1 = ES_Q("term", name="杨过")
conn.delete_by_query(
index="exam",
body={
"query": q1
}
)
如果想获取更多后端相关文章,可扫码关注阅读:

Python连接es笔记四之创建和删除操作的更多相关文章
- Python——追加学习笔记(四)
函数 1.python里的函数可以返回一个值或者对象,知识在返回一个容器对象的时候有点不同,看起来像是能返回多个对象. >>> def bar(): ... return 'abc' ...
- 【原】Learning Spark (Python版) 学习笔记(四)----Spark Sreaming与MLlib机器学习
本来这篇是准备5.15更的,但是上周一直在忙签证和工作的事,没时间就推迟了,现在终于有时间来写写Learning Spark最后一部分内容了. 第10-11 章主要讲的是Spark Streaming ...
- 【Python】学习笔记四:数学运算
python中的加减乘除比其他的语言简单,不需要对其赋值变量 加减乘除 ) #加法 ) #减法 ) #乘法 ) #除法 5.0 ) #乘方 判断 判断返回的是True或者False ) #等于 Tru ...
- Android 学习笔记四:创建工具栏按钮
原文:http://blog.csdn.net/lihongxun945/article/details/48951199 前面我们已经可以在一个Activity中添加一些按钮之类的组件.由于手机的屏 ...
- Python强化训练笔记(四)——字典的排序
假如有学生成绩以字典顺序排列:{'Tom': 87, 'Jack': 90, 'Rose': 100.....} 想要根据学生的成绩来进行排序,可以考虑使用sorted函数.但是sorted函数用在字 ...
- Python爬虫学习笔记(四)
Request: Test1(基本属性:POST): 代码1: import requests # 发送POST请求 data = { } response = requests.post(url, ...
- MYSQL初级学习笔记四:查询数据的操作DQL(SELECT基本形式)(26-35)
知识点六:查询数据的操作DQL(SELECT基本形式)(26-35) CREATE DATABASE IF NOT EXISTS cms DEFAULT CHARACTER SET utf8; USE ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
- iView学习笔记(四):Form表单操作
1.后端准备 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django项目,在项目中新建app,配置好数据库 2.后端代码(基于C ...
- PowerShell学习笔记四_函数、IO操作、字符操作、数组
使用静态方法 $now = [DateTime]::Now 实例化 $var=New-Object System.DateTime(1991,12,14)#实例化不需要[] 函数定义 Function ...
随机推荐
- 磁盘IO 基本常识
计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的 CPU主频早已超过3GHz,内存也进入了普及DDR4的时代.然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SS ...
- CSAPP-Attack Lab
目录 Code Injection Attacks Level 1 Level 2 Level_3 Return-Oriented Programming Level_4 Level_5 获取栈顶地址 ...
- 验证ADG的坏块检测和自动修复
环境: Oracle 19c ADG(主库:单实例:备库:RAC) 1.主库新建测试文件 2.主库创建测试表 3.查询表对应数据文件信息 4.模拟数据文件物理坏块 5.查询对应测试表 6.进一步查询日 ...
- Android Banner - ViewPager 02
Android Banner - ViewPager 02 现在来给viewpager实现的banenr加上自动轮播 自动轮播的原理,使用handler的延迟消息来实现. 自动轮播实现如下内容 开始轮 ...
- 迁移学习(TSRP)《Improving Pseudo Labels With Intra-Class Similarity for Unsupervised Domain Adaptation》
论文信息 论文标题:Improving Pseudo Labels With Intra-Class Similarity for Unsupervised Domain Adaptation论文作者 ...
- QtDesigner安装
QtDesigner简单介绍 Qtdesigner是Python设计里面一个非常实用的工具,使得人们编写qt界面可以不仅仅是使用纯代码,而可以在可视化的基础上设置,非常方便. QtDesigner安装 ...
- [云计算]杂谈:SaaS与PaaS的产品经理,做产品设计时有什么区别?[摘]
本文摘自: 郝雨彤@碧岸久 于 2022-09-20在社交平台中所表达的观点. 产品性质/类型 服务领域 服务对象(受众) 核心能力 SaaS 面向具体业务 (所属行业的)业务用户 很看重对业务的理解 ...
- [J2EE:中间件]LOG4J及配置文件(log4j.properties)详解
1 简介 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下 ...
- 在Blazor中使用Chart.js
1. 在Blazor中使用Chart.js 首先,从Chart.js官方网站下载Chart.js库文件. 推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.j ...
- 数据泵:导入导出dblink
环境介绍:12c->19c [oracle@enmoedu1 dpdump]$ expdp system/oracle directory=DATA_PUMP_DIR dumpfile=STAT ...