2011-08-08 12 views
2

Solrでフィルタクエリ(fq =)に表示されるフィールドを増やすことはできますか? Solrフィルタのクエリとブースト

は、私はこのようなタグ付けされたフィルタクエリの何かを持っている多面的なクエリがある:

...&q=*:*&fq={!tag:X}brand:(+"4911")+OR+body:(abc)&facet.field={!ex:X}brand&.. 

(私はブランドにファセットとファセットがXをタグ付けフィルタクエリを無視するように設定されているので、私は使用する必要がありますフィルター照会)

フィルター照会でbodyフィールドの一致よりも高いブランドフィールドスコアをマッチさせたいと思います。

フィールドのブランドとボディは複数の値があります。

私はbf =/bq = argumentsを追加しようとしましたが、フィルタークエリをメイン 'q ='クエリに変更するとブランドマッチをスコアアップすることはできますが、フィルタクエリ内のすべてのスコアに影響を与えます。私は間違った方法でそれについて行くかもしれないと思う。

ありがとう。

+0

:[リンク](http://search.lucidimagination.com/search/document/77a17b1bad16acd8/boost_the_results_for_filter_value_in_a_single_query)私はYonikシーリーによって示唆されているようにやろうとしているものですが、それは私のために動作しません。 。 –

+0

fqのスコアが結果の順序に影響を与える方法はありません。私はソートクエリを使用したい結果を得ることができました。私は '&qq = brand:(4911)&sort = sum(query($ qq)、ord(score))+ desc'のようなものを追加しますが、パフォーマンスに影響するかもしれません。 –

答えて

6

Solr "fq"はスコアに影響しません - the wikiを参照してください。したがって、実際に追加したい "q"にクエリを追加する必要があります。必要な場合は、 "q"と "fq"の両方でクエリ制限を複製することができます。 "fq"は結果セットの制限としてのみ機能します。ここで

+0

答えをありがとう。確かにフィルタのクエリはスコアに影響しません、私は最初にそれを知りませんでした。私はそれがdismaxパーサの 'bq'ブーストクエリパラメータで可能かどうか疑問に思っていました。私の最終的な解決策は、2つの要求を使用することでした。 1つはファセット用、もう1つは順序付けされた結果用です。 –

関連する問題