如何批量采集高质量好文章( 2018年05月30日ES在之前的博客已有介绍)

优采云 发布时间: 2021-10-24 13:08

  如何批量采集高质量好文章(

2018年05月30日ES在之前的博客已有介绍)

  python批量导入数据到Elasticsearch的实例

  更新时间:2018-05-30 10:43:27 作者:Xiaowei xiaowei2

  今天小编就分享一个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多条记录。

  上面python批量导入数据到Elasticsearch的例子是编辑器分享的全部内容。希望能给大家一个参考,也希望大家多多支持脚本之家。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线