검색 서버 동기화

일반 검색 서버 검색은 활성 데이터 자체에 대해서가 아니라 데이터에서 빌드된 색인에 대해서이므로 애플리케이션 데이터의 업데이트는 색인에 복제되어야 합니다. Cúram 구현에서 검색 가능한 데이터의 업데이트를 적절한 시기에 주기적으로 관련 색인에 반영하는 것은 필수입니다. 일반 검색 서버에서는 시차가 짧습니다(또한 구성 가능함).

그림 1. 데이터 동기화

위에서 설명한 데이터의 초기 가져오기와 마찬가지로 동기화 프로세스에도 두 단계가 있습니다.

프로세스의 첫 번째 단계는 색인에서 사용되는 애플리케이션 데이터가 변경될 때 일반적으로 삽입, 업데이트 또는 논리적 삭제의 결과로 발생합니다. 첫 번째 단계가 발생하면 애플리케이션은 이 데이터 변경사항에 대한 정보를 일반 검색 서버 스테이징 테이블에 써야 합니다. 신규 또는 업데이트된 모든 항목에 시간소인이 표시됩니다.

두 번째 단계는 주기적으로 발생하며, 일반 검색 서버가 스테이징 데이터베이스의 현재 컨텐츠에 대해 색인을 동기화합니다. 이를 수행하기 위해 마지막으로 동기화된 시간 이후에 새로 변경된 모든 항목을 읽어서 색인으로 내보냅니다. 이 작업은 특히 변경된 각 항목과 연관된 시간소인을 마지막 동기화 단계 중에 사용된 마지막 시간소인과 비교하여 달성됩니다.

참고: 일반 검색 서버 검색 호출을 포함하는 장치 테스트를 작성하는 경우, 데이터 동기화의 지연을 명심하는 것이 중요합니다. 또한 일반 검색 서버 인스턴스는 장치 테스트에 대한 별도의 프로세스로 실행되기 때문에 동일한 트랜잭션의 일부가 되지 않습니다. 따라서 일반 검색 서버 동기화는 명시적으로 커미트되지 않는 한 테스트 트랜잭션에서 변경된 데이터를 받지 않습니다.