有没有办法动态更新同义词文件而无需重新启动Solr服务器?

mil*_*_db 6 search solr synonym solrj

我们知道在conf目录中有一个synonym.txt文件,每当我找到一些新的同义​​词时我想更新它...

那么有没有办法动态更新该文件而无需重新启动Solr服务器,我的搜索结果是否会考虑新的同义词?

如果有人有任何想法,请帮助我..提前感谢...

she*_*hem 7

我认为您可以构建自己的SynonymFilterFactory来扩展原始版本并使用自定义FSTSynonymFilterFactory作为委托者.你的SynonymFilterFactory应该扩展原来的SlowSynonymFilterFactory并调用:

map = loadSolrSynonyms(loader, true, analyzer);
Run Code Online (Sandbox Code Playgroud)

每当你想重新加载同义词文件.

要在文件发生变化时重新加载文件,可以使用每X时间唤醒一次的监视程序线程,检查sysnonim文件是否已更改,或者您可以使用某个文件监视程序在文件更改时获取通知.