我可以访问弹性搜索数据库,但我没有管理员权限,这使我能够备份数据。我只是可以询问。 如何将存储在服务器中的所有数据传输到另一个服务器?有数百万条记录。我认为把所有的数据导出到csv然后下载数据会很好。有更好的方法吗?如果cdv是最好的方法,如何恢复数据?我以这种方式导出了我的记录:
body = {"query": {match_all": {}}}"
res = es.search(index="mydb", doc_type='entry', body=body)
import csv
with open('static/data/sitemap/data.csv', 'wb') as f: # Just use 'w' mode in 3.x
w = csv.DictWriter(f, res.keys())
w.writeheader()
w.writerow(res)
有许多开源项目可用于从集群中提取所有数据—您执行
match_all
的方法将无法正常工作。在以下是一些开源项目:
如果这些都不适合您,您可以基于面向ES的Scan and ScrollAPI构建自己的API。根据ES的文档,python client应该支持扫描和滚动API。在
相关问题 更多 >
编程相关推荐