假设我想在我的文档中对两个字段的组合进行分面。
例如:
Field1 Field2
A B
C D
A B
A C
C B
C D
会有像
这样的方面结果AB [2]
CD [2]
AC [1]
CB [1]
这可能吗?我的意思是在飞行中,这意味着字段是随机选取的,因此在索引期间无法创建复制域。
答案 0 :(得分:13)
您可以使用Solr 4.0上提供的Pivot Facets对两个字段进行分组。
您可以对索引运行以下查询以获取它。
http://localhost:8181/solr/collection1/select?q=*:*&facet=true&facet.pivot=field1,field2
然后,结果将如下:
<lst name="facet_pivot">
<arr name="field1,field2">
<lst>
<str name="field">field1</str>
<str name="value">A</str>
<int name="count">3</int>
<arr name="pivot">
<lst>
<str name="field">field2</str>
<str name="value">B</str>
<int name="count">2</int>
</lst>
<lst>
<str name="field">field2</str>
<str name="value">C</str>
<int name="count">1</int>
</lst>
</arr>
</lst>
<lst>
<str name="field">field1</str>
<str name="value">C</str>
<int name="count">3</int>
<arr name="pivot">
<lst>
<str name="field">field2</str>
<str name="value">D</str>
<int name="count">2</int>
</lst>
<lst>
<str name="field">field2</str>
<str name="value">B</str>
<int name="count">1</int>
</lst>
</arr>
</lst>
</arr>
</lst>