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 相关文章推荐
用Python计算三角函数之atan()方法的使用
May 15 Python
Python构建XML树结构的方法示例
Jun 30 Python
对numpy中的transpose和swapaxes函数详解
Aug 02 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
详解Python绘图Turtle库
Oct 12 Python
Python中使用gflags实例及原理解析
Dec 13 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
Python列表去重复项的N种方法(实例代码)
May 12 Python
Python魔术方法专题
Jun 19 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
浅析Python打包时包含静态文件处理方法
Jan 15 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
一个用php3编写的简单计数器
2006/10/09 PHP
php 分页函数multi() discuz
2009/06/21 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
php获取excel文件数据
2017/04/21 PHP
php中关于换行的实例写法
2019/09/26 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
extjs render 用法介绍
2013/09/11 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
python实现复制整个目录的方法
2015/05/12 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
python matlibplot绘制3D图形
2018/07/02 Python
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
c++工程师面试问题
2013/08/04 面试题
入党申请人的自我鉴定
2013/12/01 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
清明节寄语2015
2015/03/23 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书