Solr从4.10升级到5.3.3,插件初始化失败solr.ICUcollat​​ionField

时间:2016-09-11 12:24:12

标签: solr migration solr4 solr5

我目前正致力于将多个solr核心(3)从版本4.10升级到5.3.3(然后再升级到6.2)。我重新安装了solr 5.3.3,然后将我的内核添加到新安装中。

我们还使用库,icu4j,lucene-analyzers-icu,solr-analysis-extras,所以我将它们加载到版本5.3.3。其中一个核心工作正常,因为它没有定义任何自定义字段类型。但是,使用其他两个核心我得到以下错误,最初我收到错误

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core product: Can't load schema /var/solr/data/cores/product/conf/schema.xml: Plugin init failure for [schema.xml] fieldType "text_sortable": Error loading class 'solr.ICUCollationField'

所以,我从schema.xml中删除了以下行,上面的错误令人失望,

<fieldType name="text_sortable" class="solr.ICUCollationField" locale="" strength="primary"/>

但现在我收到以下错误,

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: JVM Error creating core [suggest]: An SPI class of type org.apache.lucene.analysis.util.CharFilterFactory with classname org.apache.lucene.analysis.icu.ICUNormalizer2CharFilterFactory does not exist, please fix the file 'META-INF/services/org.apache.lucene.analysis.util.CharFilterFactory' in your classpath.

我不知道如何从这里开始,有关如何解决上述错误的任何建议都会有所帮助

1 个答案:

答案 0 :(得分:1)

对于未来遇到此问题的任何人:ICU字段需要加载icu4j库。您可以检查Solr日志,看看Solr在启动时实际加载了哪些库。

根据您的日志,您在类加载器中加载了错误的jar集。 ICU的正确jar是没有任何额外命名的jar,例如sources等。当前版本名为icu4j-54_1_1.jar