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 相关文章推荐
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
python类中super()和__init__()的区别
Oct 18 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
python将字典内容存入mysql实例代码
Jan 18 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
对python中dict和json的区别详解
Dec 18 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python实现可变变量名方法详解
Jul 01 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
Python作用域与名字空间原理详解
Mar 21 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
Python paramiko使用方法代码汇总
Nov 20 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 分页类 扩展代码
2009/06/11 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
webpack4 optimization使用总结
2019/11/10 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
python 图片验证码代码
2008/12/07 Python
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
详解python多线程之间的同步(一)
2019/04/03 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
python名片管理系统开发
2020/06/18 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
Pygame框架实现飞机大战
2020/08/07 Python
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
纪检干部个人对照检查材料
2014/09/23 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
安全生产标语口号
2015/12/26 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技