【问题标题】:When enabled stemming, searching for the root word gives no hits启用词干提取后,搜索词根不会产生任何命中
【发布时间】:2011-08-19 12:41:23
【问题描述】:

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

例如,如果不使用词干提取,搜索 support 会得到命中。使用词干提取,搜索 support 没有命中。不过,搜索 supporten 会返回匹配 support 的命中。

通过调试查询,我可以看到它将单词 support 提取为 suppor(顺便说一句,这是不正确的,但这不重要)。但是,由于词干为 suppor,我希望它也可以搜索与原始查询词匹配的内容。

我将不胜感激!

【问题讨论】:

    标签: solr stemming


    【解决方案1】:

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

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

    你应该试试Hunspell stemmer 或者solr.SwedishLightStemFilterFactory

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 1970-01-01
        • 2013-03-06
        • 1970-01-01
        相关资源
        最近更新 更多