3

次の製品リストを考えてみましょう。現在、これらは名前でソートされているため、不公平な結果が得られ、次の出力につながる可能性があります (「幸運な」製品命名のみに基づいて、1 つの会社に結果のトップを与える)

会社×製品 1
会社×製品 2
会社×製品 3
会社 y製品 a 会社
z製品 a 会社
y 製品 b
会社 z 製品 b
会社 y 製品 c
会社 z 製品 c

これをelasticsearchを使用して並べ替えて、「ラウンドロビン」の順序で表示されるようにするにはどうすればよいですか。つまり、繰り返す前に各一意のアイテムを1回選択します。したがって、上記のリストは次のようになります。

会社×製品 1
会社 y 製品 a
会社 z 製品 a
会社 x 製品 2
会社 y 製品 b
会社 z 製品 b
会社 x 製品 3
会社 y 製品 c
会社 z 製品 c

この質問がLINQに求められていることがわかりました:LINQ order by "round robin"

4

1 に答える 1

1

なんらかのスクリプト ソリューションが見つからない限り、elasticsearch 検索をいくつか実行し、結果を手動でマージすることをお勧めします。Multi Search APIを使用すると、少なくとも 1 回のリクエストですべての検索を実行できます。

于 2013-08-15T02:39:10.850 に答える