问题
Let's say I want to do faceting on the combination of two fields in my doc.
For example:
Field1 Field2
A B
C D
A B
A C
C B
C D
Will have the facet result like
AB [2]
CD [2]
AC [1]
CB [1]
Is this possible? I mean on the fly, which means the fields are picked randomly, and therefore cannot create a copyfield during index.
回答1:
You can group two fields using the Pivot Facets which is available on the Solr 4.0.
You can run the following query on your index to get it.
http://localhost:8181/solr/collection1/select?q=*:*&facet=true&facet.pivot=field1,field2
Then, the result will be like :
<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>
来源:https://stackoverflow.com/questions/13855658/is-it-possible-to-do-solr-faceting-combining-multiple-fields-like-distinct-on-m