<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>这里的文件"synonyms.txt“在当前目录中。如何加载这个文件,如果它的位置在远程服务器上,而不是在本地机器上?
发布于 2017-02-20 19:00:07
话虽如此,你仍然可以将Solr指向任何看起来和行为都像文件的东西,例如NFS挂载的目录,甚至是本地同步的Dropbox文件夹。
发布于 2017-02-20 19:49:42
您不能从远程加载资源。相反,您可以使用ManagedSynonymFilterFactory通过http post请求将同义词放到solr服务器上。
Solr 4.8.0中引入了这一特性
使用方法:
首先,你必须像下面这样声明你的过滤器
<filter class="solr.ManagedSynonymFilterFactory" managed="english"/>您可以使用以下curl请求将同义词发布到solr:
curl -X PUT -H 'Content-type:application/json' --data-binary '{"mad":["angry","upset"]}' "http://solr_ip:8983/solr/collection_name/schema/analysis/synonyms/english"在这里,用您的代码更改solr_ip和collection_name。我把“疯狂”的同义词“愤怒”、“沮丧”
您可以通过get请求检查同义词。
http://solr_ip:8983/solr/collection_name/schema/analysis/synonyms/english有关更多信息,请访问:https://cwiki.apache.org/confluence/display/solr/Managed+Resources
https://stackoverflow.com/questions/42341999
复制相似问题