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获取本地计算机名字的方法
Apr 29 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
Python多继承原理与用法示例
Aug 23 Python
python 运用Django 开发后台接口的实例
Dec 11 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
python画图的函数用法以及技巧
Jun 28 Python
Python交互式图形编程的实现
Jul 25 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
Restful_framework视图组件代码实例解析
Nov 17 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
Syphon 秘笈
2021/03/03 冲泡冲煮
用Php实现链结人气统计
2006/10/09 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
java解析json方法总结
2019/05/16 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
四查四看整改措施
2014/09/19 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
培训计划通知
2015/07/15 职场文书