启用词干时,搜索根词不会发出命中

时间:2011-08-19 12:41:23

标签: solr stemming

我已使用solr索引了一个网站。如果未启用词干,它的效果非常好。但是,使用词干分析,solr在搜索单词的根时不会返回任何匹配。我用瑞典语词干。

例如,如果不使用词干,搜索support会给出匹配。使用词干,搜索support没有命中。但是,搜索supporten会返回与support匹配的匹配。

通过调试查询,我可以看到它将support一词带到suppor(顺便说一句,这是不正确的,但这无关紧要)。但是,如果将单词设为suppor,我希望它能够搜索与原始查询字词匹配的内容。

我很感激你的帮助!

2 个答案:

答案 0 :(得分:0)

Afaik,在阻止时没有办法保留原话......

我假设您使用的是solr.SnowballPorterFilterFactory。雪球算法过于激进。

您应该尝试Hunspell stemmersolr.SwedishLightStemFilterFactory

答案 1 :(得分:0)

您可以执行的解决方法是将查询重新格式化为“支持支持*”或“支持支持〜”。 *是通配符匹配,〜是使用Lucene语法的模糊匹配。我知道你没有提到需要进行通配符和模糊搜索,但我发现在这些情况下,查询上的干扰不会生效,因此保留了“支持”。并且词干在第一个单词上仍然有效,因此如果有的话,两个结果都将被返回。此外,模糊搜索将有助于降低用户查询中拼写错误的容忍度,因此这是一个额外的好处。