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. ORM一对多增加记录

    多表操作(一对多)增加记录: 1)Bookl.objects.creat(name='python', price=77, publish_id=2) 2) pulish_obj = Publish. ...

  2. MVC part4

    SpringMVC 注解 @Controller 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写,你也可以自己指定, 如下 方法一: @Controller ...

  3. SQL中ISNULL的问题。

    今天在写SQL代码的时候写了个 ISNULL(变量1,变量2),返回的结果居然是 "*" ,这个星号,郁闷了很久. 代码大意如下: ) declare @str2 int sele ...

  4. 吴裕雄 27-MySQL 元数据

    你可能想知道MySQL以下三种信息:查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数.数据库和数据表的信息: 包含了数据库及数据表的结构信息.MySQL服务器信息: 包含 ...

  5. js高级-闭包

    function foo(x){ var tmp = 3; return function(y){ //把一个函数作为返回值,定义时候的作用域 console.log(x+y+(++tmp)) //+ ...

  6. scala 下载

    http://downloads.lightbend.com/scala/2.12.3/scala-2.12.3.tgz http://confluence.jetbrains.com/display ...

  7. windows下配置pymysql

    可以直接pip安装 pip install pyMysql

  8. Ambient Light

    [Ambient Light] Ambient light is light that is present all around the scene and doesn’t come from an ...

  9. skinned mesh render

    [skinned mesh render] 相比MeshRender组件 ,SkinnedMeshRender多了bones组件.所以很明显,MeshRender不支持骨骼动画,而SkinnnedMe ...

  10. Bootstrap 辅助类

    [Bootstrap 辅助类] 1.背景色 2. <p>插入符实例 <span class="caret"></span> </p> ...