/select/?q=*:*&rows=100&facet=on&facet.field=category
約100000のドキュメントにインデックスが付けられています。しかし、rows=100を使用して返すドキュメントは100個だけです。カテゴリに対して返されるファセットカウント。ただし、インデックス付けされたすべてのドキュメントのカウントが返されます。
ファセットを返される結果セットに制限することはできますか?つまり、100行のみですか?
パスカルが指摘したように、直接的な方法では不可能だと思います。
これを達成するための2つの方法がわかります。
方法I:返された100個の結果にアクセスして自分でカウントします。これは、カテゴリフィールドの場合は非常に簡単で高速ですが、トークン化が必要なテキストフィールドの場合などは困難です。
方法II:2つのパスを実行します。
select/?q=:&facet=on&facet.field=category&fq=id:(312
OR 28 OR 1231 ...)
1つ目ははるかに効率的であり、テキスト以外のファイルにはお勧めします。2つ目は計算コストが高くなりますが、すべてのタイプのodフィールドで機能するという利点があります。
申し訳ありませんが、それは不可能だと思います。ファセットは常に、クエリに一致するすべてのドキュメントに基づいています。
本当の答えではありませんが、おそらく何もないよりはましです:結果のグループ化機能(トランクからチェックアウトしてください!):
http://wiki.apache.org/solr/FieldCollapsing
ここで、facet.field=categoryはgroup.field=categoryに似ており、指定した数のグループ('ファセットヒット')のみを取得します。
常に同じクエリを実行する場合は、(q=*:*)
次のようにfacet.limitを使用できます。
select/?q=*:*&rows=100&facet=on&facet.field=category&facet.limit=100
solrが使用する順序がファセットでクエリと同じであるかどうかを教えてください:。