2014-04-15 10 views
1

AWS 클라우드에서 EC2 및 RDS (MySQL)를 사용하고 있습니다. 전체 텍스트 검색에 Amazon CloudSearch 사용 계획. MySQL에 새로운 행을 추가 할 때마다 CloudSearch에 데이터를 보내야합니다. CloudSearch를 RDS와 동기화 된 상태로 유지하는 일종의 2 가지 작업입니다. 하나는 RDS에 행을 추가하고 다른 하나는 CloudSearch에 동일한 데이터를 추가하는 작업입니다. 다른 좋은 접근 방법이 있다면 나에게 제안 해주십시오.AWS CloudSearch Java API

RDS에 대한 업데이트가있을 때마다 AWS Java API를 추가하여 CloudSarch에 문서를 추가하고 문서를 업데이트/삭제하는 좋은 자료와 작업 예제를 찾고 있습니다.

감사합니다, Baskar.S 당신의 RDS 데이터베이스와 cloudsearch 지수 사이에 일정한 동기화를 보장 할 기성품 도구가 없지만, 문제가 일반적으로 업데이 트에 자신의 코드를 추가하여 해결

+0

문제점에 대한 좋은 해결책을 찾으셨습니까? – Reza

답변

1

Nikhil이 중간에 있습니다. 데이터가 CRUD 된 코드에서 유사한 호출을 cloudsearch에 추가하지만이 두 문은 모두 트랜잭션 컨텍스트에 래핑되어야합니다. 이것은 기본적으로 하나가 실패하면 둘 다 실패하는 것을 보장합니다. 이것이 없으면 동기화를 보장 할 수 없습니다.

스프링 및 레일즈와 같은 프레임 워크는이 기능을 제공하지만 사용자가 사용하고있는 것을 명시하지 않았습니다.

4

/삭제/함수를 만듭니다. 내 루비 기반 웹 응용 프로그램에서이 접근 방식을 사용했습니다.

색인에 새 문서를 추가하고, 문서를 업데이트하고, 문서를 삭제하는 클래스가 있다고 가정 해 보겠습니다. 접근 방식은 다음과 같아야합니다.

  1. 새 행이 성공적으로 만들어지면 새 문서를 만드는 함수를 호출하십시오. 완료시 클라우드 검색에 의해 자동으로 인덱싱됩니다.

  2. 행을 업데이트하고 클라우드 검색 색인에도있는 필드를 변경하면 해당 문서도 업데이트하는 함수를 호출하십시오.

  3. 마찬가지로 행을 삭제하는 경우에도 색인에서 문서를 삭제하는 함수를 호출하십시오.

+0

잘되고 좋았습니다. DB에 문제가 없지만 클라우드 검색에 추가되지 않으면 어떻게됩니까? – gremwell

+0

동일한 기능/방법으로 논리를 래핑 할 수 있습니다. cloudsearch 업데이트가 작동하지 않으면 DB 변경을 취소하십시오. – Nikhil