2016-08-11 1 views
0

フィールドAの値が特定の数値より大きい場合、レコードの一致スコアを上げます。特定のフィールドの値(数値)が特定の範囲内にあるかどうかに基づいてスコアを上げます

例えば、Aの値が4より大きい場合、私はそれに5のブーストを与えたいと思います。私はbfbqに対して以下を試しましたが、動作しませんでした。

if(A>4,5,0) 

どうすればよいですか?

答えて

0

FunctionQueryを使用する必要があります。

bq=if(A>4,5,1) 
+0

おかげで、それは私が使用したものである:edismaxのqueryparserで は、次のようにブーストクエリパラメータを指定する必要があります。私はsolrダッシュボードにいて、bqボックスに 'if(A> 4,5,1)'と指定しています。私は次のエラーを受け取りました。 '' error ':{ "metadata":[ "error-class"、 "org.apache.solr.common.SolrException"、 "ルートエラークラス"、 "org.apache.solr.common。 msgstr "未定義フィールド:\" A \ ""、 "code":400}} ' – user2868104

関連する問題