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 03 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
Python实现修改IE注册表功能示例
May 10 Python
对numpy中向量式三目运算符详解
Oct 31 Python
Python制作exe文件简单流程
Jan 24 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
如何使用Python标准库进行性能测试
Jun 25 Python
简单介绍python封装的基本知识
Aug 10 Python
Python拼接字符串的7种方式详解
Mar 19 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 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/11/23 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
python编码最佳实践之总结
2016/02/14 Python
python运行其他程序的实现方法
2017/07/14 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Python底层封装实现方法详解
2020/01/22 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
django 读取图片到页面实例
2020/03/27 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
高中生职业规划范文
2014/03/09 职场文书
金融事务专业求职信
2014/04/25 职场文书
无传销社区工作方案
2014/05/13 职场文书
老兵退伍标语
2014/10/07 职场文书
民用住房租房协议书
2014/10/29 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书