有一段时间没有更新博客了,最近的麻烦事太多,作为学生党的我,要求去进行实习,将近半个多月了,都没有好好的码过代码,真是罪过呀。最近公司让做一个对话系统,真的是把我弄的晕头晕脑的,今天才拿到一份不成样子的数据,看到数据真是头大啊,还好小编的基础略有,上司给了分Excel的数据,刚开始想着是把Excel的数据导入mysql数据库里,可是导进去之后,感觉mysql不如elasticsearch好用,然后又从mysql中导入到elasticsearch里面,有800条数据,速度倒是不怎么快,希望大家可以给小编一个加快速度的建议,在这里,我把我的代码贴出来,希望大家可以借鉴与评论,好了,背景讲的差不多了,贴代码了:
# -*- coding: utf-8 -*-
import pymysql
from elasticsearch import Elasticsearch
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
db = pymysql.connect("localhost", "root", "root", "gongan",charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
sql = "SELECT * FROM sheet1"
es = Elasticsearch()
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
new = []
i = -1
for row in results:
i+=1
es.index(index='gongan', doc_type='test-type', body={
'id': i,
'question': row[0],
'question_one':row[1],
'answer':row[2]
})
except:
print("Error: unable to fecth data")
# 关闭数据库连接
db.close()
不知道大家有没有直接把Excel中的数据直接导入elasticsearch里面的呢,如果有的话,请联系小编,毕竟“学海无涯苦作乐”嘛,当是打赏给小编喽。。。。。。