2012-07-19 2 views
0

데이터베이스 웹 게시자를 만들고 싶습니다.복제 된 MySQL 데이터베이스 Solr 검색

Solr 검색 기능은 내 요구 사항에 완벽하게 부합합니다 (패싯 검색, 전체 텍스트 검색 등).

제 문제는 데이터가 네트워크에서 동기화되어야한다는 것입니다.

나는 MySQL 데이터베이스를 Solr에서 가져와야한다고 읽었습니다.

웹 서버의 MySQL 데이터베이스에 복제 된 하나의 원본 MSSQL 데이터베이스로 작업 할 계획입니다. 이 데이터베이스에서 Solr을 사용해야합니다.

복제 된 SQL 데이터베이스의 변경 사항이 Solr 인덱스에 자동으로 에코 될 수있는 솔루션이 있습니까? 필자는 수정 될 때마다 전체 데이터베이스를 가져오고 싶지 않아 사용하기가 어려워 질 것입니다.

감사합니다.

답변

0

매번 전체 데이터베이스를 인덱싱 할 필요가 없습니다. 즉 Delta import이 대상입니다. 필요한 때에 델타를 가져 오도록 구성하면됩니다.

+0

감사합니다. 시도해 보겠습니다. – user1537647

0

DataImportScheduler을 사용하면 데이터를 동기화 된 상태로 유지할 수 있습니다. Solr 색인을 동기화 상태로 유지하는 가장 일반적인 방법입니다.

DB에 트리거를 설치하여 삽입/업데이트/삭제 된 모든 문서의 변경 사항을 반영하는 Solr의 REST 서비스를 시작할 수 있습니다.

또한 db는 일부 응용 프로그램을 처리하는 데 일반적으로 사용되므로 필터 (Java 웹 응용 프로그램 용 javax.servlet)를 설치하여 요청을 가로 채서 데이터베이스에 도달하기 전에이를 Solr에 전달할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 이러한 해결책을 모색 할 것입니다! 필터의 개념은 중개하지만 내 경우 데이터 변경은 클라이언트 서버 데이터베이스에서 실행됩니다 (클라이언트는 데이터베이스를 관리하고 공개하므로 데이터가 공개되기 전에 공개 된 정보를 필터링해야합니다). solr 응용 프로그램을 사용할 웹 서버 데이터베이스에 복제 된 것보다 큽니다. 그래서 나는 그것이 유용 할 것이라고 생각하지 않습니다. 나는 DataimportScheduler를 시도 할 것이다. – user1537647

+0

"아이디어 발동"? –