2017-04-12 8 views
0

spring-data-solr을 사용하여 Hadoop 클라이언트에서 실행되는 인덱싱 된 Solr 데이터를 쿼리합니다. 내 컬렉션 이름은 party_name입니다. 발견되지org.springframework.data.solr.UncategorizedSolrException : 컬렉션을 찾을 수 없음

org.springframework.data.solr.UncategorizedSolrException: Collection not found: partyname; nested exception is org.apache.solr.common.SolrException: Collection not found: partyname 
    at org.springframework.data.solr.core.SolrTemplate.execute(SolrTemplate.java:215) 
    at org.springframework.data.solr.core.SolrTemplate.executeSolrQuery(SolrTemplate.java:1030) 

주 컬렉션 : 나는 다음과 같은 예외를 얻고있다

@Configuration 
@EnableSolrRepositories(basePackages = { "org.nccourts.repository" }, multicoreSupport = true) 
public class SpringSolrConfig { 
    @Value("${spring.data.solr.zk-host}") 
    private String zkHost; 

    @Bean 
    public SolrClient solrClient() { 
    return new CloudSolrClient(zkHost); 
    } 

    @Bean 
    public SolrTemplate solrTemplate(CloudSolrClient solrClient) throws Exception { 
    solrClient.setDefaultCollection("party_name"); 
    return new SolrTemplate(solrClient); 
    } 

}

내 JUnit 테스트를 실행 : 다음은 내가 클라우드 클라이언트를 구성하는 데 사용되는 코드는 : partyname이지만 입력 한 컬렉션 이름은 party_name입니다. compile('org.springframework.boot:spring-boot-starter-data-solr')

어떤 도움을 또는 포인터를 부탁드립니다 :

나는 다음과 같은 의존성과 봄 부트 버전 1.5.2을 사용하고 있습니다.

+0

엔티티 클래스 (주석 포함)에 대한 전체 선언을 추가 할 수 있습니까 (아마도 '@SolrDocument public class PartyName {...}')? – manish

답변

0

귀하의 제안은 저에게 아이디어를주었습니다. 내 모델은이처럼 보였다 :

공용 클래스 PartyName {생략

@Field("case_status") 
private String caseStatus; 

private String county; 

@Field("court_type") 
private String courtType; 

private String id; 

@Field("in_regards_to") 
private String inRegardsTo; 

@Field("biz_name") 
private String bizName; // business name after parsing name 

@Field("first_name") 
private String firstName; // person 1st name after parsing name 

@Field("last_name") 
private String lastName; // person last name after parsing name 

@Field("middle_name") 
private String middleName; // person middle name after parsing name 

private String name; // original name before parsing 
private String prefix; // person prefix after parsing name 
private String suffix; // person name suffix after parsing name 

@Field("party_num") 
private Integer partyNumber; 

@Field("party_role") 
private String partyRole; 

@Field("party_status") 
private String partyStatus; 

@Field("row_of_origin") 
private String rowOrigin; 

@Field("seq_num") 
private Integer seqNumber; 

private Integer year; 

... 게터/세터. 내 엔티티 코드를 게시하는 당신이 제안 할 때 } 는, 나는 다음과 같은 주석을 추가 할 필요가 실현 : 내가 한 후 @SolrDocument (solrCoreName = "party_name") 공용 클래스 PartyName { .. 을의 JUnit을 그 잘 했어. 감사.