2

这是我的同义词.txt

file system => filesystem

file set => fileset

version , release

latest, new

content, information

我已经更改了 synonyms.txt,但同义词不起作用也帮助我如何给出空格分隔的同义词。

例如。foo bar => foobar

4

2 回答 2

1

我们在检索和排名中使用的字段类型“watson_text_en”默认情况下没有同义词过滤器。您需要通过添加该过滤器来更新您的 schema.xml 以使其可用。以下是添加位置和添加内容的说明:在您的 schema.xml 中,在部分,添加<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>到标签列表中。

根据您的要求,您可以将其添加到 and 两者/其中之一,这告诉 solr 是否在索引和/或查询时应用它。将其添加到“索引”将需要重新索引以使更改生效,而添加到“查询”则不需要。此外,列表将按照您放置的顺序运行,因此您可以选择放置此过滤器的位置以使其在某些过滤器之前/之后运行。例如,如果将它放在 solr.LowerCaseFilterFactory 之前,最好打开 ignoreCase="true",因为它会在所有内容转换为小写之前运行

于 2016-05-08T06:06:01.950 回答
0

只是要注意关于将过滤器添加到“查询”中 - 根据 Solr 文档,http: //wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory这是一件非常糟糕的事情。

于 2016-06-27T11:38:54.987 回答