python批量导入数据进Elasticsearch的实例
作者:小威xiaowei2 发布时间:2022-06-29 16:08:02
标签:python,导入,数据,Elasticsearch
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


猜你喜欢
- vsCode是什么Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几
- 目录精确调整工作表的行高和列宽批量更改多个工作簿的数据格式批量更改工作簿的外观格式设置字体格式修改字体为宋体修改字号字体加粗字体颜色单元格填
- 1.string.maketrans设置字符串转换规则表(translation table) allchars = string.make
- 若是只引用jquery的话,监听单选按钮改变事件如下:<input type="radio" name="
- 场景在使用Tortoise操作数据库的时候发现,通过对操作数据库模型加以装饰器,如@pre_save(Model),可以实现对这个模型在sa
- 简介:在Windows下的网易邮箱大师客户端中,阅读邮件时,可以使用快捷键Delete删除邮件,然后自动跳到下一封,如果再按一次Delete
- 方法1:用SET PASSWORD命令mysql> set password for 用户名@localhost = password
- 例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符。lis
- gzip文件读写的时候需要用到Python的gzip模块。具体使用如下:# -*- coding: utf-8 -*-import gzip
- 点工具栏中〔显示估计的查询计划〕,结果提示Documents and Settings\XXX\Local Settings\Temp\1\
- 依托于互联网的发达,我们可以随时随地利用一些等车或坐地铁的碎片时间学习以及了解资讯。同时发达的互联网也方便人们能够快速分享自己的知识,与相同
- 利用XMLHTTP无刷新自动实时更新数据,2秒自动刷新一次,2秒取得一次数据.demo.htm 前台显示<script la
- Python jieba分词如何添加自定义词和去除不需要长尾词通过如下代码,读取一个txt的高频词汇:# 找到高频词汇 &nb
- 单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整
- 抛出的异常信息:异常详细信息: System.ArgumentOutOfRangeException: “ddlTotalCostDisco
- 第一列按照goodsid局部分组,然后在分组后的记录中按照audittime升序排序得到序号,从而显示某商品得第几次变迁。 第二列是取该商品
- Python离线安装包下载pip包pip download 你要下载的包名 -d 下载的路径# example 结果会下载很多whl包pip
- asp采集常用的几个FUCTION如:利用流保存文件,利用fso检测文件是否存在,利用fso检测文件夹是否存在,保存文件,取得远程数据等1.
- 一、本文使用的第三方包和工具python 3.8 谷歌浏览器selenium(3.141.0)(pip install
- 这三种情况下所得到的server.MapPath是一致的,这就导致上传之后写入数据库的图片地址和实际图片存储地址不一致,因此,我们需要自定义