2014-10-07 6 views
0

이벤트 저장소로 저장되는 데이터에서 이벤트 스트림으로 lucene 색인을 작성합니다. 이러한 인덱스는 데이터와 함께 효율적인 페이징/정렬/검색 기능을 제공하는 데 사용됩니다.Lucene 색인의 모든 데이터 복제

우리의 요구 사항을 충족시키기 위해 색인의 모든 데이터를 복제해야합니다. 이 상황에서 개념적으로 데이터를 쿼리하는 가장 좋은 방법은 무엇입니까?

나는 2 개 옵션 참조 : 인덱스에서 직접 인덱스에서 ID의

  • 쿼리에만 목록을 보려면 모델을 구축하기위한

    • 쿼리의 모든 데이터를 이벤트 저장소에서 데이터를 쿼리하는 ID를 사용

    우리는 확장 성과 내결함성에 대해서도 염려하고 있습니다. 그래서 그것들에 대해서도 생각해야합니다. 어떤 제안?

  • 답변

    0

    # 1 옵션이 더 좋습니다. 데이터를 인덱스에 저장하십시오. 모델을 페이징/필터링 된 테이블에서 빌드해야하는 조각 만 저장하십시오. 그리고 거기에서 가져와. 번개가 빠르다.

    최대 절전 모드 검색은 옵션 # 2와 비슷한 접근 방식을 사용합니다. ID와 Java 클래스를 저장하고 인덱스에서 찾아 DB에서 가져옵니다. 너무 비싸면 우회 될 수 있습니다. 최근에는 기본 동작으로 인해 내 DB가 삭제 되었기 때문에이 스크립트를 사용한 사례가있었습니다. 매력처럼 작동합니다.

    (4 개 프로젝트에 걸쳐) 인덱스 손상이 발생했지만 절대적으로 다시 인덱싱이 가능해야합니다.

    이벤트 스냅 샷을 사용합니까? 색인을 생성 할 수도 있습니다.