0
Elastic Search 데이터베이스에 대한 액세스 권한이 있지만 데이터를 백업 할 수있는 관리자 권한이 없습니다. 쿼리 만 할 수 있습니다. 서버에 저장된 모든 데이터를 다른 서버로 전송하는 방법은 무엇입니까? 수백만 건의 기록이 있습니다. 모든 데이터를 CSV로 내보내고 데이터를 다운로드하는 것이 좋을 것 같습니다. 거기에 더 좋은 방법이 있습니까? cdv가 최상의 접근 방법이라면 어떻게 데이터를 복원 할 수 있습니까? 내 기록이 방법을 내 보낸 :Elastic Search에서 데이터 가져 오기/내보내기
당신이 당신의 클러스터에서 모든 데이터를 추출하는 데 사용할 수있는 오픈 소스 프로젝트가 있습니다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이 작동하지 않습니까? –
match_all은 특정 수의 결과 만 반환하기 때문에 모든 결과를 반환하도록 설정하면 메모리 부족으로 ES가 실행됩니다 ... 한 번에 한 페이지 씩 결과를 페이징하는 것이 비효율적이며 수행하는 동안 데이터를 인덱싱하는 경우, 당신은 뭔가 모순되는 것을 얻을 수 있습니다. – Alcanzar