Solr的每个场的多个面

Mas*_*iti 4 search solr faceted-search

默认情况下,Solr返回字段的构面,然后如果为该字段选择构面值,则不再返回所有其他先前的选项作为该字段的构面的一部分.

我正在尝试开发一个更像亚马逊搜索引擎(基于他们自己的A9搜索引擎,因此可能类似于Amazon CloudSearch)的搜索引擎.

当您缩小到亚马逊搜索的某些"方面"时,如果您要将该区域添加到搜索中,它们将继续显示其他选项以及计数.

在Solr中有没有内置的方法可以做到这一点?如果没有,我将如何滚动自己.显然我需要缓存为该字段返回的原始方面.但是,一旦我已经为该领域选择了一个(或多个)方面,那么计算其他方面区域的计数的最有效方法是什么.显然,当选择其他构面时,您在这些值之间进行"OR"查询,因为您尝试使用这两个值中的任何一个来显示事物.

例如,我在亚马逊的珠宝部门搜索钻石戒指,然后缩小到黄金作为金属类型.然后我可以选择多个克拉面:

亚马逊分面示例

有人可以举例说明我如何(有效地)使用Solr做到这一点吗?

对于未来版本的Solr,是否有任何功能可以提供开箱即用的功能(假设它不在盒子中)?

mai*_*oat 7

Tagging and excluding FiltersSolr中的功能可能是您正在寻找的功能,这里是Wiki链接解释Multi Select Faceting.

例如:../ solr/select /?q =*&trs = 0&facet = on&fq = {!tag = krt} KARAT:10k_Gold&facet.field = {!ex = krt} KARAT

自从Solr 1.4以来我就会出现这个功能.