我目前正致力于将多个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.
我不知道如何从这里开始,有关如何解决上述错误的任何建议都会有所帮助
答案 0 :(得分:1)
对于未来遇到此问题的任何人:ICU字段需要加载icu4j库。您可以检查Solr日志,看看Solr在启动时实际加载了哪些库。
根据您的日志,您在类加载器中加载了错误的jar集。 ICU的正确jar是没有任何额外命名的jar,例如sources
等。当前版本名为icu4j-54_1_1.jar
。