【问题标题】:Solr Stopwords Removal CasesSolr 停用词删除案例
【发布时间】:2015-10-29 03:09:22
【问题描述】:

Solr 是否有任何配置,当搜索词只是一个停用词时,它不会将其视为停用词并查找相关文档。 例如

  • 如果查询是 alpha 和 beta,则将其视为 alpha beta
  • 如果查询是and,它被视为and(因为查询包含 只有停用词/s)

目前我不考虑完全匹配词组。

【问题讨论】:

  • 从您的 fieldType 中删除 stopwordfilterfactory...同时索引和查询...
  • 在这种情况下,在 alpha 和 beta 中,solr 将搜索“and”作为单独的标记。我不希望这样,因为我会因为个别停用词而得到很多结果。
  • 然后使用字符串作为字段类型,因此它考虑单个标记

标签: solr stop-words


【解决方案1】:

使用两个字段 - 一个删除停用词,另一个保留所有标记。这将允许您为不同的匹配项赋予不同的权重(这意味着在存在 停用词的字段中的匹配项的权重可能低于已删除停用词的匹配项。

您可以通过使用不同分析器链的两个不同字段定义(text_with_stopwordstext_without_stopwords)来做到这一点。

使用qf=text_wosw^2 text_wsw 对字段进行不同的查询和加权,并使用copyField 指令将相同的内容索引到两个字段中。

Solr 无法自行执行“如果此字段中没有命中,则在此字段中搜索”,因此如果您希望单独执行搜索,则必须在您的应用程序中处理它(如果第一个在没有停用词的字段中查询不会给出任何命中,请针对其他字段进行查询)。

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多