2012-09-11 5 views
3

멀티 코어 solr 설치를 설정하려고하지만 solr이 필요한 클래스를로드하기위한 올바른 구성을 얻지 못하는 것 같습니다.solr이 contrib 디렉토리의 ICUFoldingFilter를 찾을 수 없습니다.

java -jar start.jar 실행에 대한 출력은 다음과 같습니다

Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader 
INFO: Adding 'file:/software/solr/solr/contrib/analysis-extras/lib/icu4j-4.8.1.1.jar' to classloader 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader 
INFO: Adding 'file:/software/solr/solr/contrib/analysis-extras/lucene-libs/lucene-icu-3.6.1.jar' to classloader 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader 
INFO: Adding 'file:/software/solr/solr/contrib/analysis-extras/lucene-libs/lucene-smartcn-3.6.1.jar' to classloader 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrResourceLoader replaceClassLoader 
INFO: Adding 'file:/software/solr/solr/contrib/analysis-extras/lucene-libs/lucene-stempel-3.6.1.jar' to classloader 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrConfig <init> 
WARNING: <indexDefaults> and <mainIndex> configuration sections are deprecated (but still work). Please use <indexConfig> instead. 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrConfig <init> 
INFO: Using Lucene MatchVersion: LUCENE_36 
Sep 11, 2012 4:23:16 PM org.apache.solr.core.SolrConfig <init> 
INFO: Loaded SolrConfig: solrconfig.xml 
Sep 11, 2012 4:23:16 PM org.apache.solr.schema.IndexSchema readSchema 
INFO: Reading Solr Schema 
... snip ... 
Sep 11, 2012 4:23:16 PM org.apache.solr.common.SolrException log 
SEVERE: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/icu/ICUFoldingFilter 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:247) 
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:388) 
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:409) 
    at org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:83) 

org/apache/lucene/analysis/icu/ICUFoldingFactorylucene-icu-3.6.1.jar에 존재 왜이 나중에 발견되지?

내 디렉토리 구조는 다음과 같습니다

|-solr 
|---contrib 
|-----analysis-extras 
|-------lib 
|-------lucene-libs 
|-----velocity 
|-------lib 
|---cores 
|-----core0 
|-------conf 
|-------data 
|---------index 
|-----core1 
|-------conf 
|-------data 
|-----core2 
|-------conf 
|-------data 
|---------index 
|---lib 
|-----solrj-lib 
|-------optional 

답변

4
나는 각 인스턴스 디렉토리의 lib에 다음과 같은 항아리를 넣어하는 데 필요한 것을 발견

:

아파치-SOLR 분석 - 엑스트라-3.6.2.jar
루씬-ICU-3.6.2.jar
루씬 - 스탬프-3.6.2.jar
ICU4J-4.8.1.1.jar
루씬-smartcn-3.6.2.jar
노마 lizer.jar UnicodeNormalizeFilter.jar

내 주요 문제는 내가 apache-solr-analysis-extras-x.y.x.jar을 필요로한다는 것을 깨닫지 못했다는 것이 었습니다. 해당 파일은 apache-solr-3.6.2/dist에 있습니다. 그 다음 4 개는 apache-solr-3.6.2/contrib/analysis-extras에 있습니다. (나는 종류의 normalizer.jar 및 UnicodeNormalizerFilter.jar이 필요하지 않습니다 생각합니다.)

은 그 다음의 schema.xml에서 내가 사용하는 데 필요한 :

<filter class="solr.ICUFoldingFilterFactory"/> 

...하지 org.apache.lucene을 .etc 패키지 이름. 나는 org.apache.lucene.analysis 패키지 이름을 시도했지만 작동하지 않았다. 나는 그 종류의 이상한 것을 발견했다. 그러나 그것이 문서를 보는 방법이다. http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.ICUTokenizerFactory

0

이 작업을 수행하는 또 다른 아마도 덜 노동 집약적 인 방법 ("코어"가 될 것이라고, 귀하의 경우, 내가 추측하고있어) 어떤 디렉토리 당신이 -Dsolr.solr.home에 사용하는 아래에 lib 디렉토리를 만드는 것입니다 . 필자는 예제 설치로 작업 중이며 멀티 코어에서 lib를 생성하고 분석 항아리를 복사했습니다.

2471 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/icu4j-49.1.jar' to classloader 
2471 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/lucene-analyzers-icu-4.6.1.jar' to classloader 
2472 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/lucene-analyzers-morfologik-4.6.1.jar' to classloader 
2472 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/lucene-analyzers-smartcn-4.6.1.jar' to classloader 
2473 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/lucene-analyzers-stempel-4.6.1.jar' to classloader 
2474 [main] INFO org.apache.solr.core.SolrResourceLoader Adding 'file:/C:/Solr/solr-4.6.1/example/multicore/lib/solr-analysis-extras-4.6.1.jar' to classloader 
: 나는 내가 로그에 다음, 내가 정의한 코어가 문제없이 시작 참조 java -Dsolr.solr.home=multicore -jar start.jar

와 SOLR을 시작할 때

관련 문제