Solr schema.xml Solr 无法识别的更改

Solr schema.xml changes not recognized by Solr

我最近对我的 schema.xml 文件做了一个小改动。基本上我唯一做的就是更改 StopFilter 使用的停用词文件: <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 变成 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />

stopwords_de.txt 来自 Solr 提供的一组预定义停用词。

但是,我现在的问题是,即使我重建索引,架构中的更改也不会应用。我检查了该字段的 Solr Admin UI 模式浏览​​器,StopFilter 在重新索引后仍然使用旧的停用词文件。

我是否需要重新加载核心甚至重新启动 Solr 才能应用这些更改?到目前为止,重建索引做得很好。


我在我们的 Plone 4.2.6 系统上使用 Collective Solr 4.1.0 Search。

简单地重新启动 Solr 就完成了这项工作。至此,Solr 使用更改后的 schema.xml。 StopFilter 的更改有效,我可以在 UI 的分析器选项中检查它。

重启服务器。另外,请查看 documentation 关于重新加载核心的内容。

  • http://localhost:8983/solr/admin/cores?action=RELOAD&core=YourCoreName 在不重新启动服务器的情况下重新加载核心。

请注意,自 Solr 4.0 起,不会重新加载所有内容(例如 <dataDir> 中的更改将被忽略)。您可以参考 SOLR-3592 了解有关该主题的更多信息。

如果您发现自己面临这个问题,即使您使用的是较新版本的 Solr(在我的例子中是 8.10),请确保删除文件 <SOLR HOME>/server/solr/<your core>/conf/managed-schema 并重新启动 solr 服务器。在重新启动期间,Solr 将读取 schema.xml 文件并创建一个新的 managed-schema 文件以反映更改。