0
フィールドAの値が特定の数値より大きい場合、レコードの一致スコアを上げます。特定のフィールドの値(数値)が特定の範囲内にあるかどうかに基づいてスコアを上げます
例えば、Aの値が4より大きい場合、私はそれに5のブーストを与えたいと思います。私はbf
とbq
に対して以下を試しましたが、動作しませんでした。
if(A>4,5,0)
どうすればよいですか?
フィールドAの値が特定の数値より大きい場合、レコードの一致スコアを上げます。特定のフィールドの値(数値)が特定の範囲内にあるかどうかに基づいてスコアを上げます
例えば、Aの値が4より大きい場合、私はそれに5のブーストを与えたいと思います。私はbf
とbq
に対して以下を試しましたが、動作しませんでした。
if(A>4,5,0)
どうすればよいですか?
FunctionQueryを使用する必要があります。
bq=if(A>4,5,1)
おかげで、それは私が使用したものである: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