Solr中的面分组

Solr中的面分组,solr,Solr,在我的Solr索引中,我有两种不同类型的项,A和B,在我的索引中,它们分别有不同的字段foo和bar,但我需要将类似的值组合在一起进行刻面 A: foo: /* could be "abc", "def" or "ghi" */ B: bar: /* could be "abc", "ghi", or "jkl" */ 单独获取这些字段的方面信息非常容易: http://myServer:<port>/<SolrPath>/q=<query>&am

在我的Solr索引中,我有两种不同类型的项,
A
B
,在我的索引中,它们分别有不同的字段
foo
bar
,但我需要将类似的值组合在一起进行刻面

A:
  foo: /* could be "abc", "def" or "ghi" */

B:
  bar: /* could be "abc", "ghi", or "jkl" */
单独获取这些字段的方面信息非常容易:

http://myServer:<port>/<SolrPath>/q=<query>&facet.field=foo&facet.field=bar
Solr中是否有方法指定我希望将
a.foo
B.bar
字段“集中到一起”到同一个方面?换句话说,我需要使响应中的方面信息如下所示:

"facet_count": {
    "facet_fields": {
        "foo": ["abc", 13, "def", 20 "ghi", 38, "jkl", 1]
    }
}

不,我的建议是将值索引到单个字段中。使用复制字段指令(在schema.xml中)如下所示:


编辑:可以使用方面查询,但前提是唯一值的列表很小且有限,并且您愿意为每个值编写单独的方面查询。即使这样,结果也会有所不同(每个查询计数,而不是字段值数组计数)。

谢谢,这就是我要做的。如果我不能(从政治上)更改模式,我可能最终会与facet查询一起进行黑客攻击,但这听起来是更好的解决方案。
"facet_count": {
    "facet_fields": {
        "foo": ["abc", 13, "def", 20 "ghi", 38, "jkl", 1]
    }
}
<copyField source="foo" dest="foobar" />
<copyField source="bar" dest="foobar" />
?q=*:*
&facet=true
&facet.field=foobar