python批量导入数据进Elasticsearch的实例
作者:小威xiaowei2 时间:2022-06-29 16:08:02
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多条记录每秒。
来源:https://blog.csdn.net/u012236368/article/details/51284587
标签:python,导入,数据,Elasticsearch
0
投稿
猜你喜欢
MySQL8.0服务无法正常启动的解决过程
2024-01-13 04:33:27
微信小程序开发之实现心情记事本
2024-04-18 09:45:20
asp精妙的SQL语句例子
2008-03-04 17:42:00
MySQL使用外键实现级联删除与更新的方法
2024-01-25 19:52:12
xheditor所见即所得文本编辑器(代码高亮显示修改)
2022-04-17 02:20:25
apache+mysql+php+ssl服务器之完全安装攻略
2023-11-16 07:34:16
MyEclipse连接Mysql数据库的方法(一)
2024-01-23 11:31:29
PHP如何利用P3P实现跨域
2023-11-23 20:16:58
由浅到深了解JavaScript类
2008-06-16 13:20:00
怎样在SQL Server中去除表中不可见字符
2009-02-05 15:23:00
python对文档中元素删除,替换操作
2023-08-30 11:28:20
Python实现压缩文件夹与解压缩zip文件的方法
2023-07-31 20:43:09
python实现协同过滤推荐算法完整代码示例
2023-10-11 00:29:05
PyCharm搭建Spark开发环境的实现步骤
2022-05-21 04:21:17
Python 实现数据库更新脚本的生成方法
2024-01-15 22:35:43
如何选择合适的MySQL存储引擎
2009-02-04 13:02:00
分享PHP函数实现数字与文字分页代码
2023-11-14 12:32:54
python密码学周期置换密码学习
2021-09-21 16:45:39
手把手教你搭建ES6的开发运行环境
2024-04-18 09:46:55
基于telepath库实现Python和JavaScript之间交换数据
2023-05-24 04:20:39