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
  • asp之家 网络编程 m.aspxhome.com