맵퍼

맵퍼는 검색 서비스 데이터가 애플리케이션 데이터베이스 테이블에서 스테이징 데이터베이스 테이블로 맵핑되는 방식을 정의하는 클래스입니다. 각 검색 서비스에는 고유의 맵퍼가 있습니다. 사용할 맵퍼는 SearchService 데이터베이스 테이블에서 지정됩니다. 자세한 정보는 mapperName을 참조하십시오.

이 맵퍼 기능은 두 가지 프로세스에서 사용됩니다.

  1. 데이터베이스 추출기가 실행될 때 각 검색 서비스 필드는 특정 검색 서비스에 대해 반복됩니다. 각 필드에 대해 애플리케이션 데이터베이스에서 해당 엔티티 속성 데이터가 검색되고 SearchServiceRow 스테이징 데이터베이스 테이블에 채워집니다.
  2. 검색 서비스에서 사용되는 엔티티에 대해 작성, 업데이트 또는 제거 조작이 호출될 때 관련 SearchServiceRow 행은 관련 엔티티 수정사항으로 업데이트됩니다.

이러한 두 프로세스 모두에서 각 검색 서비스에 대한 관련 맵퍼가 호출되어 애플리케이션 데이터베이스 테이블에서 스테이징 데이터베이스 테이블로 데이터를 맵핑합니다.

일반 검색 서버의 초기화 시 스테이징 데이터베이스 정보를 읽어서 검색 서비스 메타데이터에서 색인화하는 구조에 사용합니다. 검색 서버는 주기적으로 스테이징 데이터베이스에서 업데이트를 검사하여 서비스 데이터를 최신으로 유지합니다.

다음 맵퍼 API 메소드를 사용하려면 검색 개발자가 검색 서비스에 대한 기초에서 다음을 구현해야 합니다.

SearchServiceRowDtlsList mapToStagingDb(
  final SearchServiceKey id) throws AppException, 
    InformationalException;
    
List getObjectList(final SearchServiceKey serviceId, 
  final Object obj) throws AppException, InformationalException;
  
String getExtKey(final SearchServiceKey serviceId, List objList);

void remove(final SearchServiceKey serviceId, final Object objKey) 
    throws AppException, InformationalException;    
    
Object getFieldValue(final SearchServiceKey serviceId, 
    final List objList, final SearchServiceFieldDtls field);

자세한 정보는 맵퍼 조작 구현을 참조하십시오.