弹性搜索中的导入/导出数据

2024-09-29 23:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以访问弹性搜索数据库,但我没有管理员权限,这使我能够备份数据。我只是可以询问。 如何将存储在服务器中的所有数据传输到另一个服务器?有数百万条记录。我认为把所有的数据导出到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)

Tags: csv数据方法服务器数据库权限data管理员
1条回答
网友
1楼 · 发布于 2024-09-29 23:31:36

有许多开源项目可用于从集群中提取所有数据—您执行match_all的方法将无法正常工作。在

以下是一些开源项目:

如果这些都不适合您,您可以基于面向ES的Scan and ScrollAPI构建自己的API。根据ES的文档,python client应该支持扫描和滚动API。在

相关问题 更多 >

    热门问题