0

我已经用 solr 索引了一个网站。如果不启用词干提取,它会很好地工作。然而,使用词干提取,solr 在搜索词根时不会返回任何命中。我使用瑞典语词干。

例如,support如果不使用词干提取,搜索会给出命中。使用词干,搜索support没有命中。虽然,搜索supporten返回匹配匹配support

通过调试查询,我可以看到它的词干supportsuppor(顺便说一句,这是不正确的,但这不重要)。但是,如果词干为suppor,我希望它也可以搜索与原始查询词的匹配项。

我将不胜感激任何帮助!

4

2 回答 2

0

Afaik,在词干提取时无法保留原词......

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

您应该尝试使用Hunspell 词干分析器,或者也许可以solr.SwedishLightStemFilterFactory

于 2011-12-21T13:47:04.177 回答
0

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

于 2016-08-04T19:12:05.007 回答