【问题标题】:SOLR: Return missing words for multi word searchesSOLR:返回多词搜索的缺失词
【发布时间】:2017-01-18 08:03:55
【问题描述】:

我正在尝试在 solr 中接收搜索查询的字词,这些字词未包含在匹配项中。 假设我正在搜索“红帽 Linux 鹰嘴豆”(不带引号),其中一个热门是“红帽企业 Linux 操作系统”。然后我想获得“鹰嘴豆”一词缺失的信息在这个结果中。

我认为这应该可以通过 SOLR 以某种方式实现,但显然我无法提出正确的 google/stackoverflow 查询来找到解决方案。

【问题讨论】:

  • 您的搜索是否使用引号("),因为它是完全匹配的。否则它将搜索这些关键字。
  • 那么,对于每个文档,您想知道初始查询中缺少哪些术语,对吗?
  • @Mysterion 是的,这是正确的
  • @user1211 不,查询没有引号
  • 在查询中设置 debug = true,您可以从结果中提取信息。我的 2 美分。

标签: search solr lucene


【解决方案1】:

您可以尝试使用分面来获取具有给定条件的数字返回:

q=Red+Hat+Linux+chickpeas&facet=true&facet.field={!terms=red,hat,linux,chickpeas}text

其中 text 是一个包罗万象的字段(标记化、小写过滤)。请注意,构面区分大小写。

【讨论】:

  • 但这会让我全面了解所有搜索结果中每个单词的计数。我想要的是对每个结果的看法。
【解决方案2】:

我的问题的答案是对每个搜索词使用存在函数查询。

请看这里: https://stackoverflow.com/a/26163945/467944

【讨论】:

    猜你喜欢
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2014-02-04
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多