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创建和使用字典实例详解
Nov 01 Python
Python Web框架Flask中使用新浪SAE云存储实例
Feb 08 Python
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
判断网页编码的方法python版
Aug 12 Python
Python探索之SocketServer详解
Oct 28 Python
python使用RNN实现文本分类
May 24 Python
Django安装配置mysql的方法步骤
Oct 15 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
pandas实现将日期转换成timestamp
Dec 07 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 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新手上路(三)
2006/10/09 PHP
php 获取mysql数据库信息代码
2009/03/12 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php比较相似字符串的方法
2015/06/05 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
微信跳一跳游戏python脚本
2020/04/01 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
幼儿园师德师风心得体会
2016/01/12 职场文书
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技