我最近在我的schema.xml
文件中做了一个微小的改变。基本上我所做的唯一的事情就是改变了StopFilter使用的stopwords文件:将<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来应用这些更改吗?到目前为止,Reindexing已经很好地完成了这项工作。
我正在使用集体Solr 4.1.0搜索我们的Plone 4.2.6系统。
3条答案
按热度按时间mznpcxlj1#
重新启动服务器。另外,请查看有关重新加载核心的文档。
http://localhost:8983/solr/admin/cores?action=RELOAD&core=YourCoreName
以重新加载核心而不重新启动服务器。请注意,从Solr 4.0开始,不会重新加载所有内容(例如,
<dataDir>
中的更改被忽略)。您可以参考SOLR-3592以获得更多关于该主题的信息。pvabu6sv2#
简单的重启Solr就完成了任务。到目前为止,Solr使用了修改后的
schema.xml
。StopFilter的修改生效了,我可以在UI的分析器选项中检查它。w51jfk4q3#
如果您发现自己遇到了这个问题,即使您使用的是Solr的更新版本(在我的例子中是8.10),请确保删除文件
<SOLR HOME>/server/solr/<your core>/conf/managed-schema
并重新启动Solr服务器。在重新启动过程中,Solr将读取schema.xml
文件并创建一个新的managed-schema
文件来反映所做的更改。