如何在KeywordTokenizerFactory上配置使用同义词库的solr

时间:2017-11-16 07:54:22

标签: solr

同义词例如:“AAA”=> “很难见到”

如果我搜索AAA * BBB

我可以在ALJUNIEDBBB获得AVANT。

我使用的是StandardTokenizerFactory.But它总是将字段数据分解为词汇单位,然后忽略搜索词的相对位置。

另一方面,我尝试使用StandardTokenizerFactory或WordDelimiterFilterFactory等其他过滤器通过*分割单词。它不起作用

1 个答案:

答案 0 :(得分:0)

您不能 - 同义词与令牌一起使用,而KeywordTokenizer将整个字符串保留为单个令牌。因此,如果您正在使用KT,则无法在索引时扩展字符串的一部分。

此外,SynonymFilter不是MultiTermAware,因此在进行通配符搜索时不会在查询时调用 - 因此您无法扩展其中部分字符串的同义词,无论哪个你正在使用的标记器。

这可能是预处理字符串并在将其发送到Solr之前进行替换的好例子,或者如果替换次数很少,则在索引时使用过滤器在字符串内部进行模式替换以使两个版本都编入索引。