본문 바로가기
WIKI 기술 지식 베이스

Solr migration

원문 보기 위키 갱신

출처: 문서

본문

Solr 마이그레이션

Solr 마이그레이션은 Elasticsearch 마이그레이션과는 다른 아키텍처를 사용해요. Solr와 OpenSearch는 스키마 형식과 데이터 레이아웃이 근본적으로 다르기 때문이에요.

지원 버전

다음 표에서 지원되는 소스 및 대상 버전을 확인할 수 있어요.

소스 대상
Apache Solr 6.x--9.x (SolrCloud 또는 Standalone) OpenSearch 1.x, 2.x, 또는 3.x

워크플로 구성의 버전 문자열은 SOLR <major>.<minor>.<patch> 형식과 일치해야 해요. 예시: SOLR 8.11.4, SOLR 9.7.0, SOLR 6.6.0.

Solr 마이그레이션의 차이점

Elasticsearch는 OpenSearch와 공통 Lucene 데이터 형식과 유사한 REST API를 공유하는 반면, Solr는 자체 스키마 형식(schema.xml)과 다른 Lucene 인덱스 레이아웃을 사용해요. Solr 마이그레이션은 SolrReader라는 전용 컴포넌트를 사용하는데, 이 컴포넌트는 Solr 백업 데이터를 읽어서 Solr 스키마를 OpenSearch 매핑으로 변환해요. 단계별 S3 백업 설정과 워크플로 구성 방법은 Solr 백필 가이드를 참고하세요.

마이그레이션 단계

Solr 마이그레이션은 다음 단계로 진행돼요.

1단계: 데이터 마이그레이션(백필)

  1. Solr 백업 생성 -- SolrCloud 컬렉션에는 Solr의 백업 API를, Standalone 코어에는 파일 시스템 복사를 사용해요.
  2. SolrReader 실행 -- Solr 백업의 Lucene 세그먼트 파일을 읽어 문서를 추출하고, Solr schema.xml 필드 타입을 OpenSearch 매핑으로 변환해요.
  3. OpenSearch에 벌크 인덱싱 -- 변환된 매핑을 사용해 대상에 문서를 인덱싱해요.

다음 표는 SolrReader가 스키마 변환을 수행하는 방식을 보여줘요.

Solr 필드 타입 OpenSearch 매핑
solr.TextField text
solr.StrField keyword
solr.IntPointField integer
solr.LongPointField long
solr.FloatPointField float
solr.DoublePointField double
solr.BoolField boolean
solr.DatePointField date

2단계: 검증 및 전환

백필이 완료되면 대상에서 문서 수와 샘플 쿼리를 검증해요. 확신이 들면 애플리케이션이 OpenSearch를 직접 가리키도록 변경하세요.

Solr 마이그레이션은 백필만 지원해요---Solr 소스에는 Capture and Replay(라이브 트래픽 마이그레이션)가 지원되지 않아요. 애플리케이션의 쿼리 레이어를 OpenSearch API를 사용하도록 업데이트해야 해요. {: .warning }

마이그레이션되는 컴포넌트

컴포넌트 지원 여부 비고
문서 예 Solr 백업의 Lucene 세그먼트 파일에서 추출
스키마 (필드 타입) 예 schema.xml → OpenSearch 매핑
Solr 플러그인 아니요 다시 구현하거나 제거해야 함
ZooKeeper 구성 아니요 OpenSearch에는 적용되지 않음
쿼리 트래픽 아니요 OpenSearch API를 사용하도록 애플리케이션을 업데이트해야 함

더 알아보기 (Learn more)