1

500 のベストセラー製品を取得する solr の検索を実装し、それらの 500 製品のみで検索/フィルター処理を実行したい

SQL では、次のようにします。

SELECT * FROM Product
WHERE ProductID IN (SELECT TOP 500 ProductID FROM Product ORDER BY Sales DESC)
AND Manufacturer = 'Apple'

solrで結合/サブクエリを実行できることは知っていますが、これらのサブクエリの行をメインクエリにフィードする前にソートおよび制限する方法がわかりません。

これはsolrで可能ですか?

4

1 に答える 1

0

おそらく、結合やサブクエリは必要ありません。
Sales 情報を使用して Products のインデックスを作成します。

Solrクエリを実行するだけです:-

q=manufacturer:apple&sort=sales desc&limit=500

また

fq=manufacturer:apple&sort=sales desc&limit=500

これは、apple の製造フィールドを検索し、売上高の降順で並べ替えられた結果セットを返し、行を 500 に制限します
。おそらく 500 を取得することはお勧めできません。
500 件の結果のみを表示するという制限は、クライアント側で処理できます。

于 2012-12-09T09:21:41.720 に答える