【问题标题】:Solr: Getting facets without exact matchSolr:获取没有完全匹配的方面
【发布时间】:2013-08-03 10:52:10
【问题描述】:

假设我在一个字段中搜索“开发者”,我得到 1000 个结果,而“Php Developer”我得到 1500 个结果。

我的查询返回如下方面:

  • PHP 开发者 (16)
  • 开发者(15)
  • .Net 开发者(14)

以上方面表示有 16 个文档与“Php Developer”完全匹配,15 个文档与“Web Developer”完全匹配,依此类推。

如果有人搜索“开发者”,我希望这些方面代表“搜索结果的实际数量”。

  • PHP 开发人员 (1500)
  • .Net 开发人员 (1100)
  • 开发者 (1000)

如何使我的构面表示结果的数量而不是完全匹配的数量。

【问题讨论】:

  • 几个问题——你在哪个领域?还有其他您正在搜索的字段吗?
  • 我正在处理“Title_exact”字段。我正在搜索“标题”和“描述”字段。

标签: solr lucene solrnet


【解决方案1】:

我的建议 - 使用您的搜索,因为它目前适合您。部分匹配的方面似乎有点混乱。人们期望在搜索结果上部分匹配,但在方面完全匹配。构面更像是一种“浏览”行为,允许用户深入了解细节。方面的歧义可能不允许用户正确切片。

但是,如果您仍然想使用您所要求的内容,这里有一些想法。

正如您提到的,分面和搜索针对不同的字段工作,因此这可能是造成这种差异的原因。

分面适用于索引值,而不是stored values

因此,为了满足您的需求,您必须使用完全相同的字段进行搜索和分面。

另外,如果你有一个包罗万象的字段(copyfield),就会导致这种行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多