如何在Solr中使用SynonymFilterFactory?

Alx*_*ejo 5 solr

我正在尝试在查询时执行同义词过滤,这样如果我搜索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)

Wal*_*ood 2

仅在索引时使用 SynonymFilterFactory,而不是在查询时使用。查询时的同义词存在一些微妙但易于理解的问题。

请参阅:http ://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

将同义词移至索引分析器链后,检查它们是否正在使用管理 UI 中的分析页面。