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 08 Python
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
Python 变量类型详解
Oct 10 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
python 实现多维数组(array)排序
Feb 28 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Python读写yaml文件
Mar 20 Python
进行数据处理的6个 Python 代码块分享
Apr 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
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
详解重置Django migration的常见方式
2019/02/15 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
python中os.remove()用法及注意事项
2021/01/31 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
大四自我鉴定
2014/02/08 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
绿色校园广播稿
2014/10/13 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang