1

我正在从 Solr 4.6.0 迁移到 5.4.0。我们选择使用旧的 schema.xml 而不是 managed_schema,因为我们有很多 copyFields。启动 solr 服务器,我们得到了这个错误:

[schema.xml] 字段类型“text_general”的插件初始化失败:[schema.xml] 分析器/过滤器的插件初始化失败:错误实例化类:'org.apache.lucene.analysis.core.StopFilterFactory'

在谷歌上搜索,我们看到 StopFilterFactory 还没有被弃用。可能是什么问题呢?

此外,没有关于如何在 Solr5 中使用 Solr4 中的模式的全面指南。有什么建议么?

谢谢

4

2 回答 2

7

不确定 Solr5.XX,但通过从模式 xml 中删除 enablePositionIncrements="true" 解决了 Solr6.1.0 中的上述问题。Solr 可能会抛出另一个错误

Plugin init failure for [schema.xml] fieldType "edge_ngram": Plugin init failure for [schema.xml] analyzer/filter: Error instantiating class:'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'

从模式文件中删除 side="front" 也将删除此错误。

于 2016-07-21T12:48:25.830 回答
0

我不确定你是否已经解决了你的错误。

Solr 4.6.0 和 5.4.0 之间会有一些重大变化,我认为你的错误是由于 2 个不同版本之间的变化。这意味着您的 schema.xml 已过时,不适用于 SOlr 5.4.0。

我建议您执行以下操作:

当您安装 Solr 5.4.0 并创建新核心时,Solr 将在核心目录的 conf 目录中创建一个托管模式文件。我建议您将托管模式文件与旧的 schema.xml 文件进行比较。例如,在旧的 schema.xml 中查找 fieldType name="text_general",并查看 fieldType name="text_general" 下的内容与 Solr 5.4 托管模式的 fieldType name="text_general" 下的内容之间的差异。 0。修复错误的一种可能方法是删除 enablePositionIncrements="true" ,如上面 Neeraj 建议的那样。

修复 enablePositionIncrements="true" 下的内容后,如果 Solr 给出有关旧 schema.xml 的另一个错误,请在 schema.xml 中查找错误的位置,并将其与上述托管模式进行比较。

不要忘记从 conf 目录中删除或移动 managed-schema 文件,因为 managed-schema 可能不是您想要使用的东西。您会想要使用旧的 schema.xml,对吗?

希望这可以帮助。

于 2017-05-12T05:59:06.377 回答