我正在尝试在查询时执行同义词过滤,这样如果我搜索X,Y的结果也会显示出来.
我去了Solr正在运行的地方,编辑.txt文件并在新行上添加X,Y.
这不起作用.我检查架构,我看到:
<analyzer type="query">
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
编辑 评估配置文件
tomcat6/Catalina/localhost似乎指向了正确的位置
<Context docBase="/data/solr/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/data/solr" override="true" />
</Context>
Run Code Online (Sandbox Code Playgroud)
另外,在Solr管理员中我看到了这一点.cwd是什么意思?
cwd=/usr/share/tomcat6 SolrHome=/data/solr/
Run Code Online (Sandbox Code Playgroud)
仅在索引时使用 SynonymFilterFactory,而不是在查询时使用。查询时的同义词存在一些微妙但易于理解的问题。
请参阅:http ://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory
将同义词移至索引分析器链后,检查它们是否正在使用管理 UI 中的分析页面。