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的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
基于python实现学生管理系统
Oct 17 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
详解python中@的用法
Mar 27 Python
python关闭占用端口方式
Dec 17 Python
用于ETL的Python数据转换工具详解
Jul 21 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
让文件路径提取变得更简单的Python Path库
May 27 Python
python神经网络ResNet50模型
May 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
php中$this->含义分析
2009/11/29 PHP
浅谈php扩展imagick
2014/06/02 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
node.js基础知识小结
2018/02/26 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
深入浅出学习python装饰器
2017/09/29 Python
python实现批量图片格式转换
2020/06/16 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
我的applet原先好好的, 一放到web server就会有问题,为什么?
2016/05/10 面试题
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
学校出纳员岗位职责
2014/03/18 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
二手房购房意向书
2015/05/09 职场文书
家长通知书家长意见
2015/06/03 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书