1、创建索引

命令如下

  from elasticsearch import Elasticsearch
es = Elasticsearch([{"host":"10.87.6.3","port":9200},]) s = "test" + "python"
try:
ret = es.indices.create(index=s)
except Exception as e:
print(e)
else:
print("创建成果")
print(ret)

返回的结果如下,证明创建成果

{'acknowledged': True, 'shards_acknowledged': True, 'index': 'testpython'}

返回的结果如下,证明创建失败

RequestError(400, 'resource_already_exists_exception', 'index [testpython/yEzYUZEiTjaZWxtN0RM_Uw] already exists')

2、删除索引

代码如下

    try:
ret = es.indices.delete(index=s)
except Exception as e:
print(e)
else:
print("删除成果")
print(ret)

返回结果,证明删除成果

{'acknowledged': True}

返回结果,证明删除失败

NotFoundError(404, 'index_not_found_exception', 'no such index')

3、插入数据

    for i in range(100,100000):
s = "python操作els的的实例" + str(i)
print(s)
data = {"title": s, "auther": "zgj"}
index = "students"
try:
result = es.create(index = index,body=data,id=i,doc_type="class1")
except Exception as e:
print(e)
else:
print(result)

这里使用create方法需要指定文档的id,这里也可以采用index的方法,用index方法,则不需要传递id这个字段,elasticsearch会自动为我们生成id

结果如下

{'_index': 'students', '_type': 'class1', '_id': '79406', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 2, 'failed': 0}, '_seq_no': 15816, '_primary_term': 1}
python操作els的的实例79407

4、更新文档

    data = {"doc":
{"title": "我是一个众人过",
"auther": "zgj",
"age":23}
} ret = es.update(index="students",body=data,doc_type="class1",id=10000)
print(ret)

这里需要注意,要更新的数据要要放在一个大字典的,k为字符串doc,v为我们要更新的数据

我们查看结果

[root@es2 index]# curl -XGET 'http://10.87.6.3:9200/students/class1/10000?pretty=true'
{
"_index" : "students",
"_type" : "class1",
"_id" : "10000",
"_version" : 3,
"_seq_no" : 41345,
"_primary_term" : 2,
"found" : true,
"_source" : {
"title" : "我是一个众人过",
"auther" : "zgj",
"age" : 23
}
}

5、删除文档

    for i in range(1,100000):
ret = es.delete(index="students",doc_type="class1",id=i)
print(ret)

python使用elasticsearch模块操作elasticsearch的更多相关文章

  1. Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作

    https://www.jb51.net/article/125160.htm?utm_medium=referral  Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...

  2. python的pika模块操作rabbitmq

    上一篇博文rabbitmq的构架和原理,了解了rabbitmq的使用原理,接下来使用python的pika模块实现使用rabbitmq. 环境搭建 安装python,不会的请参考Linux安装配置py ...

  3. python中OS模块操作文件和目录

    在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...

  4. python 通过 pymysql模块 操作 mysql 数据库

    Python 中操作 MySQL 步骤 安装模块 pip install pymysql 引入模块 在py文件中引入pymysql模块 from pymysql import * Connection ...

  5. python用sqlite3模块操作sqlite数据库-乾颐堂

    SQLite是一个包含在C库中的轻量级数据库.它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard variant)的SQL查询语句来访问数据库. 一些应用可是使用SQLite保存 ...

  6. Python使用xlwt模块 操作Excel文件

    导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

  7. python中os模块操作

    学习时总结的一些常用方法>>>> 目录函数 os.getcwd() 返回当前工作目录 os.chdir() 改变工作目录 os.listdir(path="path& ...

  8. python中os模块操作目录与文件名小结

    (1). 创建目录: SigleDir = 'sigle_layer' MultiDir = 'D:\\Web\\multi_layer' 创建单层目录: os.mkdir(SigleDir) 创建多 ...

  9. Python使用psycopg2模块操作PostgreSQL

    https://blog.csdn.net/pcent/article/details/78643611

随机推荐

  1. zookeeper windows7下集群搭建

    模拟分布式环境!!!  搞了好几天,各种错误!!终于成功了. 环境: windows7 /centos/xsheel    安装了三个虚拟机... 1.下载zookeeper http://archi ...

  2. javascript_ajax 地址三级联动

    1.三级地址联动思路如下: 2.建立数据库.这里直接使用网上的地址数库,最后一个字段无用,先不去管它 3.建立一个server.php 文件 <?php // 数据库连接 mysql_conne ...

  3. Linux:条件变量

    条件变量:     条件变量本身不是锁!但它也可以造成线程阻塞.通常与互斥锁配合使用.给多线程提供一个会合的场所. 主要应用函数:     pthread_cond_init函数     pthrea ...

  4. shell流程控制与循环结构

    shell脚本中的流程控制有if/else语句.case语句,循环结果包括for循环.while循环.until循环等内容. if语句 (1)最简单的if语句.使用格式有2种方式,分别如下 使用格式1 ...

  5. vue项目动态控制数据变动时箭头样式

    html代码 <div class="top_precent"> <span :class="{arrow:numPrecent<0}" ...

  6. 118/119. Pascal's Triangle/II

    原文题目: 118. Pascal's Triangle 119. Pascal's Triangle II 读题: 杨辉三角问题 '''118''' class Solution(object): ...

  7. gitlab docker安装配置ldap

    镜像下载 直接从dockerhub 下载官方镜像即可 docker pull gitlab/gitlab-ce 首次运行 在某个位置创建一个文件夹并运行如下命令: docker run --hostn ...

  8. 注解(Annotation)是什么?

  9. shiro 密码的MD5盐值加密

  10. 对一个结果集(List)进行手动分页

    对一个链表List,进行手动分页,核心代码就是pagin函数: import lombok.extern.slf4j.Slf4j; import org.junit.Before; import or ...