3

マルチコアのsolrインストールをセットアップしようとしていますが、solrが必要なクラスをロードするための構成を正しく取得できないようです。

実行時の出力には次のものが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/ICUFoldingFactoryに存在するlucene-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

2 に答える 2

4

各インスタンスディレクトリのlibに次のjarファイルを配置する必要があることがわかりました。

apache-solr-analysis-extras-3.6.2.jar
lucene- icu-3.6.2.jar lucene
-stempel-3.6.2.jar
icu4j- 4.8.1.1.jar lucene
-smartcn-3.6.2.jar
normalizer.jar UnicodeNormalizeFilter.jar

私の主な問題は、apache-solr-analysis-extras-xyxjarが必要であることに気づかなかったことです。そのファイルは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

于 2013-01-15T01:53:11.543 に答える
0

これを行うためのもう1つのおそらく労力のかからない方法は、-Dsolr.solr.homeに使用しているディレクトリの下にlibディレクトリを作成することです(あなたの場合、それは「コア」になると思います)。サンプルインストールで作業しており、マルチコアでlibを作成し、そこに分析jarをコピーしました。solrを起動するとjava -Dsolr.solr.home=multicore -jar start.jar

ログに次のように表示され、定義したコアは問題なく起動します。

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
于 2014-03-06T21:19:02.753 に答える