2016-12-19 8 views
0

나는 elasticsearch 클러스터에 액세스하기 위해 파이썬을 사용하고 있습니다. 이제 스냅 샷을 사용하여 인덱스를 백업하고 싶습니다. 가장 어려운 점은 python-elasticsearch의 문서에서 API 설명을 제공한다는 것입니다. 스냅 샷을 만드는 방법을 보여주는 예제가 없습니다. 몇 가지 매개 변수를 시도했지만 실패했습니다. 누구든지 파이썬을 사용하여 탄력성 검색의 스냅 샷 예제를 제공 할 수 있습니까? 이제누구나 파이썬을 사용하여 탄력성 검색의 스냅 샷 예제를 제공 할 수 있습니까?

es.snapshot.create_repository(repository='test', body=snapshot_body) 

을 스냅 샷을 만들기 위해 :

당신의 저장소 생성이 거의 정확
from elasticsearch import Elasticsearch 
es = Elasticsearch() 
snapshot_body = { 
"type": "url", 
"settings": { 
     "url": "http://download.elasticsearch.org/definitiveguide/sigterms_demo/" 
    } 
} 
body = {"snapshot": snapshot_body} 
es.snapshot.create_repository(repository='test', body=body) 

답변

1

, 당신은 단순히 다음과 같이 저장소를 만들 줄 body = {"snapshot": snapshot_body} 필요하지 않습니다 : 다음은 내 코드입니다 , 당신이 할 일은 이것이다 :

es.snapshot.create(repository='test', snapshot='my_snapshot') 

당신은 단지 몇 인덱스를 저장하고 모든 당신이이 같은 몸 제공 할 수없는하려면 다음

index_body = { 
    "indices": "index_1,index_2" 
} 
es.snapshot.create(repository='test', snapshot='my_snapshot', body=index_body) 
+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 하지만 ipython 셸에서 명령을 실행하고 오류가 발생합니다 : NotFoundError : TransportError (404, u'repository_missing_exception ', u'[test] missing ') 내 elasticsearch 버전은 2.3.5이고 python-elasticsearch 버전은 5.0입니다. .1 – Howardyan

+0

ES 2.3.5를 사용하고 있으므로 [호환성 표] (https://github.com/elastic/elasticsearch-py#compatibility)에 따라 python-elasticsearch 버전 2.x를 사용해야합니다. – Val

+0

안녕하세요 Val, 저에게 당신의 es 버전과 python 버전을 알려주시겠습니까? 너를 시험해 볼 수있어. – Howardyan