本文主要是分享如何将db数据刷入到ES中,步骤很是的简单。
分为两步:
第一步是链接数据库,获取到要匹配的数据。
第二步是调用对应的写ES的接口。python
导入第三方库
mysql
#导入第三方库import pymysqlimport requests
#数据配置定义的一个字典ars3_dicts={ "HOST" : 'l-test.beta', "PORT" : 3306, "USER": 'test', "PASSWORD" : 'test123', "NAME":"entity_0"}
执行sql方法
sql
#执行sql方法def executesql(query): try: conn = pymysql.connect(ars3_dicts['HOST'], ars3_dicts['USER'], ars3_dicts['PASSWORD'], ars3_dicts['NAME'], int(ars3_dicts['PORT']),charset='utf8') cursor = conn.cursor() cursor.execute(query) result =cursor.fetchall() print(result) print("execute successfully!!!") return list(result) except Exception as e: print(e) print("execute failed") finally: cursor.close() conn.close()
执行写ES的方法
数据库
#执行写ES的方法def insertES(): sql="SELECT entity_id FROM entity_1.`entity_main_0`;" #从数据库中提供要的数据 alist=executesql(sql) for i in range(len(alist)): id=alist[i][0] if(str(id).startswith("3")): url="http://10.7.36.35:9092/api/profile/backdoor/refreshEsData?arsProfileIds="+str(id) #此处是由开发提供的接口 print(url) response=requests.get(url) print(response.text)
入口方法
windows
#入口方法if __name__ == '__main__': inseertES()
请求后打印的信息以下图所示:api
总结:当测试环境的db被另外一个环境的db覆盖时,所对应的ES 里面的数据也是要同步进行覆盖的,本文是经过查询db中的数据,而后调用开发开放的接口进行的初始化,这样就能够保障页面检索的数据与db 是一致的。bash
友情提示:“无量测试之道”原创著做,欢迎关注交流,禁止第三方不显示文章来源时转载。更多原创文章请扫码关注查看,交流与合做请联系:loadkernel@126.com。微信
QQ技术交流群:41564936框架


本文分享自微信公众号 - 无量测试之道(gh_858a1aa25a6d)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。