2011-09-28 121 views
5

我正在尝试在网站上使用Solr进行分面研究。如何检索Solr搜索的所有适用的方面字段

当用户关闭搜索查询时,我查询Solr并检索可以显示的搜索结果。

我的问题是 - 如何找出哪些分面字段和术语适用于搜索结果?

要清楚 - 不同类别的产品具有不同的方面字段,我想找到一种方法为已返回的搜索结果找回最相关的方面字段。我不想指定字段 - 我希望Solr为我确定相关的字段。

在此先感谢!

+0

自从您询问此查询已经很长时间了。与以下答案相比,您是否找到了支持此方法的好方法?我面临着同样的问题,所以想想如果你能分享你的发现。 – Ethan

回答

1

我建议您查看Solr Wiki上的所有Simple Facet Parameters,尤其是底部的示例,因为它们会向您展示可以为查询配置构面结果的所有可能方法。

如果我正确理解你的问题......默认情况下,分面将仅基于结果集中的文档带回分面/计数。但是,为了使这些与搜索更相关,您应该将facet.mincount设置为默认值0以外的其他值。 &facet.mincount=1。但是,请再次参考文档,了解它如何工作并可应用于您的场景。

+0

感谢Paige - 我早前通读过这个链接。我的问题是,即使您设置facet.mincount - 您仍然必须指定一个或多个facet字段: 例如 select?q = ipod&rows = 0&facet = true&facet.limit = -1&facet.field = cat&facet.mincount = 1&facet.field = inStock (我将指定字段“cat”和“inStock”) 我想知道如何查询,但*不*指定字段。我希望所有的积极计数领域都能得到回报。 –

+2

如果不指定要指定的字段,则无法获取构面。对不起,这只是应用程序的工作原理。你可以打开你可能会感兴趣的所有字段,然后对结果进行一些预处理,只显示基于返回结果的相关字段。 –

+0

ah right - thanks again 。这很遗憾 - 一旦我完成搜索,我无法确定哪些分面字段将适用于返回的搜索结果。在我的整个产品系列中,有许多不同的产品,结果产生了许多方面的领域......看起来我必须单独管理方面领域层次结构,以便我知道要面向哪个领域。它看起来像他们正在考虑通配符语法 - 但后来认为这是abad的想法 - https://issues.apache.org/jira/browse/SOLR-247 –

1

我有同样的问题。

我最终做的是查询Solr查询给定查询的前50个匹配项,然后收集这些产品上设置的属性的名称。然后我做了另一个查询,并将方面字段设置为我第一次找到的产品属性。