2013-05-07 3 views
1

현재 Solr 4.2 인스턴스 (또는 특히 CoreContainer)를 시작하는 부하 분산 (Apache를 통해 외부 적으로)되는 응용 프로그램을 빌드 중입니다. 내 응용 프로그램의 모든 인스턴스 (복제본 등 포함)에 걸쳐있는 SolrCloud를 설정하려고합니다. 나는이 서버들을 필요한 사육사 앙상블과 함께 설치하는 방법을 안다.SolrCloud에서 EmbeddedSolrServer 사용

나의 질문은 내가 SolrCloud와 상호 작용하는 방식에 관한 것이다. 그래서 여기있다 :

  • 내 사용자 지정 응용 프로그램은 요청을 받고이 요청이 내 응용 프로그램에 포함 된 SOLR 인스턴스를 시작한 이후 SolrCloud

  • 에서 정보를 업데이트 할 필요에 따라, 나는 EmbeddedSolrServer를 사용할 수 있습니다 인덱스와 상호 작용할 수 있지만 SolrCloud와 상호 작용하는 올바른 방법입니까? 또는이 접근법은 Solr이 수행하는 전체 클러스터링 접근 방식을 우회합니까? SolrCloud 클러스터에서 내 응용 프로그램을 분리하고 CloudSolrServer를 사용하는 것이 더 낫습니다.

미리 감사드립니다.

답변

0

디버깅 용도로만 사용하려면 EmbeddedSolrServer을 사용하지 않는 것이 좋습니다. EmbeddedSolrServer을 사용하면 애플리케이션 및 관리 콘솔에서 한 번에 색인에 액세스하려고 시도하면 LockObtainFailedException이 표시됩니다.

http://wiki.apache.org/solr/EmbeddedSolr

+0

기본적으로 EmbeddedSolrServer를 사용하면 응용 프로그램을 구분할 수 없습니다. 지적한대로 클러스터링과 관련하여 추가 단점이 있습니다. – svenp

0

는 실제로 SOLR이 모듈 테스트 사용하여 응용 프로그램에서 임베디드 SOLR 클라우드을 만들 수있는 방법이있다.

<!-- Solr Test Framework --> 
<dependency> 
    <groupId>org.apache.solr</groupId> 
    <artifactId>solr-test-framework</artifactId> 
    <version>6.6.1</version> 
    <scope>test</scope> 
</dependency> 

확인 jaihind213here 매우 유용에 의한 UT 쓰기입니다.