我认为您可以构建自己的SynonymFilterFactory来扩展原始版本并使用自定义FSTSynonymFilterFactory作为委托者.你的SynonymFilterFactory应该扩展原来的SlowSynonymFilterFactory并调用:
map = loadSolrSynonyms(loader, true, analyzer);
Run Code Online (Sandbox Code Playgroud)
每当你想重新加载同义词文件.
要在文件发生变化时重新加载文件,可以使用每X时间唤醒一次的监视程序线程,检查sysnonim文件是否已更改,或者您可以使用某个文件监视程序在文件更改时获取通知.