0

スコア (デフォルト) でソートする solr クエリを実行しているとします。Ford、GM、Toyota などを含む「ブランド」フィールドがあります。特定のブランドが 3 つの連続した結果しか得られないように、クエリの結果を返したいですか? 上位 100 の結果がクエリのトヨタであったとしても、101 番目の要素を取得して 4 番目に表示する必要があります (3 台のトヨタ車のみが連続して表示されるようにするため)。

結果をページングできる必要があります。

RoR/sunspot FYI を使用しています。

それは可能ですか?

4

1 に答える 1

3

必要なものを正確に取得できるかどうかはわかりませんが、結果のグループ化を確認することをお勧めします。あなたの場合のように、特定のフィールドに対して同じ値を持つ結果をグループ化できますbrand。次に、パラメーターを使用して、ブランドごとに必要な結果の数を定義でき group.limitます (デフォルト 1)。次に、パラメーターを使用して、グループ化された結果をページ分割できgroup.offsetます。

brandフィールドが多値でない限り、機能するはずです。

于 2012-11-30T20:35:35.907 に答える