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牛刀小试密码爆破
Feb 03 Python
python写的ARP攻击代码实例
Jun 04 Python
Python CSV模块使用实例
Apr 09 Python
Python入门教程之if语句的用法
May 14 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
django反向解析和正向解析的方式
Jun 05 Python
tensorflow实现加载mnist数据集
Sep 08 Python
Python中的 enum 模块源码详析
Jan 09 Python
对python 自定义协议的方法详解
Feb 13 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php文件操作相关类实例
2015/06/18 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php数组指针操作详解
2017/02/14 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
Python实现的用户登录系统功能示例
2018/02/05 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
python散点图实例之随机漫步
2018/08/27 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
如何掌握自荐信格式呢
2013/11/19 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis