次のようなクエリがあります。
qt=/solrSearchHandler&q={!func}sum(0,0)&bf=someFloatField^1
ドキュメントsomeFloatField
の値が 1 の場合。
私はsolr.SearchHandlerリクエストハンドラーをedismax defTypeで使用しています。
ドキュメントのスコアが bf/boost と関数クエリ値 (q として指定) の合計ではない理由を理解しようとしています。
この例では、スコアが 1(sum(0,0) + boost weight=1 * someFloatField=1)
であることを期待していますが、実際には 0 です。数字で遊んだ後、スコアが実際には次のように計算されていることがわかります。
q + bf * q
それ以外の
q + bf
これは、加法的ブースティングに期待したものです。おそらく、ブーストがスコアにどのように組み込まれているかについて混乱しています。もしそうなら、2つの値を単純に追加する方法についての指示をいただければ幸いです。