ドキュメント内の 2 つのフィールドの組み合わせでファセットを行いたいとしましょう。
例えば:
Field1 Field2
A B
C D
A B
A C
C B
C D
次のようなファセット結果が得られます
AB [2]
CD [2]
AC [1]
CB [1]
これは可能ですか?つまり、フィールドがランダムに選択されるため、インデックス中にコピーフィールドを作成できません。
Solr 4.0 で使用できるピボット ファセットを使用して、2 つのフィールドをグループ化できます。
インデックスで次のクエリを実行して取得できます。
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>