python批量导入数据进Elasticsearch的实例


Posted in Python onMay 30, 2018

ES在之前的博客已有介绍,提供很多接口,本文介绍如何使用python批量导入。ES官网上有较多说明文档,仔细研究并结合搜索引擎应该不难使用。

先给代码

#coding=utf-8
from datetime import datetime
from elasticsearch import Elasticsearch
from elasticsearch import helpers
es = Elasticsearch()
actions = []
f=open('index.txt')
i=1
for line in f:
 line = line.strip().split(' ')
 action={
 "_index":"image",
 "_type":"imagetable",
 "_id":i,
 "_source":{
  u"图片名":line[0].decode('utf8'),
  u"来源":line[1].decode('utf8'),
  u"权威性":line[2].decode('utf8'),
  u"大小":line[3].decode('utf8'),
  u"质量":line[4].decode('utf8'),
  u"类别":line[5].decode('utf8'),
  u"型号":line[6].decode('utf8'),
  u"国别":line[7].decode('utf8'),
  u"采集人":line[8].decode('utf8'),
  u"所属部门":line[9].decode('utf8'),
  u"关键词":line[10].decode('utf8'),
  u"访问权限":line[11].decode('utf8') 
  }
 }
 i+=1
 actions.append(action)
 if(len(actions)==500):
 helpers.bulk(es, actions)
 del actions[0:len(actions)]
if (len(actions) > 0):
 helpers.bulk(es, actions)

每句话的含义还是很明显的,这里需要说几点,首先是index.txt是以utf8编码的,所以需要decode('utf8')转换成unicode对象,并且“图片名”前需要加u,否则ES会报错

导入的速度还是很快的,2000多条记录每秒。

以上这篇python批量导入数据进Elasticsearch的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
python if not in 多条件判断代码
Sep 21 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Python实现的字典值比较功能示例
Jan 08 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python csv模块使用方法代码实例
Aug 29 Python
python实现串口通信的示例代码
Feb 10 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 #Python
django1.11.1 models 数据库同步方法
May 30 #Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 #Python
python自动化报告的输出用例详解
May 30 #Python
Django项目中model的数据处理以及页面交互方法
May 30 #Python
Python实现的生产者、消费者问题完整实例
May 30 #Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 #Python
You might like
PHP5/ZendEngine2的改进
2006/10/09 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
python控制台中实现进度条功能
2015/11/10 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
经典英文广告词
2014/03/18 职场文书
大型营销活动计划书
2014/04/28 职场文书
超市店庆活动方案
2014/08/31 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸