Search 有没有一种方法可以在不重新启动Solr服务器的情况下动态更新同义词文件?

Search 有没有一种方法可以在不重新启动Solr服务器的情况下动态更新同义词文件?,search,solr,solrj,synonym,Search,Solr,Solrj,Synonym,正如我们所知,conf目录中有一个synonym.txt文件,每当我发现一些新的同义词时,我都想更新它 P>所以有没有办法在不重启 SoR Server < /强>的情况下动态更新该文件,我的搜索结果会考虑新的同义词吗?? 如果有人有任何想法,请帮助我。。 提前感谢…我认为您可以构建自己的,扩展原始版本,并使用自定义代理。 同义词FilterFactory应扩展原始SlowSynonymFilterFactory并调用: map = loadSolrSynonyms(loader, true,

正如我们所知,conf目录中有一个synonym.txt文件,每当我发现一些新的同义词时,我都想更新它

<> P>所以有没有办法在不重启<强> SoR Server < /强>的情况下动态更新该文件,我的搜索结果会考虑新的同义词吗?? 如果有人有任何想法,请帮助我。。
提前感谢…

我认为您可以构建自己的,扩展原始版本,并使用自定义代理。 同义词FilterFactory应扩展原始SlowSynonymFilterFactory并调用:

map = loadSolrSynonyms(loader, true, analyzer);
每当您要重新加载同义词文件时

要在文件更改时重新加载文件,您可以使用每X次刷新一次的看门狗线程,检查sysnonim文件是否已更改,或者在文件更改时使用一些线程获取通知。

Solr提供了使用REST API管理同义词的功能(在本例中,通过
/solr/collection\u name/schema/analysis/synonyms/english
端点):

admin/cores?action=RELOAD&core=core name

重载操作从现有已注册的Solr core的配置加载新core。当新core初始化时,现有core将继续处理请求。当新Solr core就绪时,它将接管旧core并卸载旧core


谢姆:谢谢你的回复……你能给我举个例子,告诉我如何编写自定义Factory以及如何在scheme.xml中使用它吗?给我一些链接以供参考……如果你有。我是Solr的新手,我没有好主意。你能帮我吗:以编程方式重新加载Solr core服务器/重新启动服务器。我正在使用solrj。这意味着在你创建了你的jar之后使用过滤器,您应该替换web应用程序库中的solr jar并重新启动solr服务