【发布时间】:2016-09-11 12:24:11
【问题描述】:
我目前正在将多个 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.
我不知道如何从这里开始,任何有关如何解决上述错误的建议都会有所帮助
【问题讨论】:
-
这两个类在 Solr 中仍然可用,因此请确保您实际加载了
ICU4J库。日志可能会在加载库时向您显示它们? -
@MatsLindh , 启动时正在加载库,启动日志如下, 1712 INFO (coreLoadExecutor-6-thread-3) [ ] o.a.s.c.SolrConfig 将指定的库目录添加到 ClassLoader 1713 INFO (coreLoadExecutor -6-thread-3) [] o.a.s.c.SolrResourceLoader 将 'file:/opt/shared_libs/lucene-analyzers-icu-5.5.3-sources.jar' 添加到类加载器 1713 INFO (coreLoadExecutor-6-thread-3) [] o.a.s.c. SolrResourceLoader 将 'file:/opt/shared_libs/icu4j-54.1.1-sources.jar' 添加到类加载器
-
但是你想加载
sources.jar 而不是二进制jar (icu4j-54_1_1.jar)? -
@MatsLindh 非常感谢您指出这一点,在加载二进制文件后,一切都很顺利。我不应该加载源代码。
标签: solr migration solr4 solr5