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函数装饰器用法实例详解
Jun 04 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python连接SQLServer2000的方法详解
Apr 19 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
对Python3 序列解包详解
Feb 16 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
python实现代码统计程序
Sep 19 Python
在python shell中运行python文件的实现
Dec 21 Python
Python Numpy库常见用法入门教程
Jan 16 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
python实现批量命名照片
Jun 18 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
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
php的sso单点登录实现方法
2015/01/08 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python之reload流程实例代码解析
2018/01/29 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
英语系毕业生求职信
2014/07/13 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
地球上的星星观后感
2015/06/02 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书