<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>
这里是文件&#34; synonyms.txt&#34;存在于当前目录中。如果该文件的位置在远程服务器上而不在本地计算机上,如何加载该文件?
答案 0 :(得分:0)
很遗憾,您无法输入网址,因为ResourceLoader
的{{1}}使用SynonymFilterFactory
。
如上所述,您仍然可以将Solr指向任何看起来和行为类似文件的东西,例如: NFS挂载的目录,甚至是本地同步的Dropbox文件夹。
答案 1 :(得分:0)
您无法从远程加载资源。相反,您可以使用ManagedSynonymFilterFactory
将http发布请求放入您的solr服务器这个功能在Solr 4.8.0中引入
如何使用:
首先,您必须声明您的过滤器,如下所示
<filter class="solr.ManagedSynonymFilterFactory" managed="english"/>
您可以使用以下卷曲请求将同义词发布到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。我正在说疯狂的单词同义词很生气,不高兴
您可以通过获取请求检查您的同义词。
http://solr_ip:8983/solr/collection_name/schema/analysis/synonyms/english
了解更多信息:https://cwiki.apache.org/confluence/display/solr/Managed+Resources