0

Solr を使用してカタログ内の製品を検索しています。カテゴリ「書籍」の商品のスコアを下げようとしていますが、うまくいきません。また、「本」カテゴリから結果をフィルタリングしようとしましたが、それでも取得できるので、何か間違っていると思いました。カテゴリ フィールドにはインデックスが付けられます。

これは、私が行った要求の 1 つの試行 (他の多くの試行のうち) です。

http://localhost:8080/solr/collection1/query?q=iphone+4s&rows=4&fq=price:[*+TO+500]&debugQuery=on&fq=not(query(category:Books))

また、「Books」に悪影響を与える bf パラメータを使用してみましたが、まだ運がありません。

「書籍」などのカテゴリがある場合、スコアを下げるにはどうすればよいですか? また、特定のカテゴリで結果をフィルタリングするにはどうすればよいですか?

4

1 に答える 1

1

次のコードをリクエストに追加してみてください:-

&bq=(*:* -category:Books)^1000000

数値 1000000 は非常に大きな数値を指定し、カテゴリが書籍ではないレコードをブーストします。

したがって、コードは次のようになります:-

http://localhost:8080/solr/collection1/query?q=iphone+4s&rows=4&fq=price:[*+TO+500]&debugQuery=on&bq=(*:* -category:Books)^1000000

特定のカテゴリで結果をフィルタリングするには、次のコードをリクエストに追加します:-

&fq=category:Books

上記は、カテゴリが本であるすべてのレコードを表示します。

カテゴリが書籍ではないすべてのレコードを取得するには、次を試してください:-

&fq=(*:* -category:Books)
于 2012-12-31T15:58:59.757 に答える