Solr DB를 migration하는 방법을 간단히 정리함
. Solr가 로컬 파일시스템에 위치한다해서 색인된 collection을 원하는 서버로 복사는 할 수 있지만, 제대로 로딩이 되지 않음
. 동일한 환경을 갖춰놓고, Solr 를 구동해도 로딩시 색인DB는 내용은 사라질 것임
왜 제대로 구동이 되지 않는지 이유를 찾기보다, 그냥 정상적인 방법으로 migration 하도록 합시다!!
아래 명령어 한줄이면 백업이 가능함
저장할 곳과 컬렉션이름, 저장할 폴더명과 같이 파라미터만 잘넣어서 사용해주면 됩니다.
$ curl "http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=BACKUP&name=[저장할폴더명]&collection=[컬렉션이름]&location=[Local Path]"
예를 들어 아래처럼 실행하면 수행하면 /home/guest/tmp 폴더로 news 컬렉션이 저장됩니다.
curl "http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=BACKUP&name=tmp&collection=news&location=/home/guest/"
(컬렉션 삭제 하는 명령어 입니다. import 할 서버에 컬렉션이 있을때 아래 명령어를 수행하고, 그렇지 않을경우 건너뛰세요)
$ curl "http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=DELETE&name=[컬렉션이름]"
(import 명령어 입니다)
$ curl "http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=RESTORE&name=[컬렉션이저장된폴더명]&location=[Local Path]&collection=[컬렉션이름]"
예를 들어 아래와 같이 명령어를 수행하면 /home/guest/tmp 폴더에 저장된 export된 컬렉션을 news 컬렉션 이름으로 import 함
curl "http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=RESTORE&name=tmp&location=/home/guest/&collection=news"
그럼 이만!!