私は文書の浮動小数点フィールドの値に従って文書のスコアを上げようとしています。Solrjで採点関数を正しく使うには
例えば、ユーザは、「6と10メートルの間の高さと、ロン名前Oliphaunts」を検索することができると私はDecayFunctionに類似した方法でheight
フィールドを照会したいです。近い8メートルの高さが優れている、私は名前や高さによって得点oliphauntsを取得することを期待以下の単純化されたクエリでは、
-
q=name:"ron" _val_:"div(1,abs(sub(height,8)))"
私はの組み合わせを使用して、私の指数関数的崩壊のスコアリング機能を起草しましたmath operandsとregular functions -
exp(sub(0,div(pow(max(0,sub(abs(sub(value,origin)),offset)),2),mul(2,sub(0,div(pow(scale,2),mul(2,ln(decay))))))))
今私は_val_
magic fieldを使用してクエリのスコアにこの機能を組み込むしたいと思います。
どのようにしてSolrjでこれを達成できますか?
(_val_
の代わりに)これを行うには他にどのような方法がありますか?
{p.s. - 私はSolr 5.3.1で標準クエリパーサを使用しています。
- 私は
私たちはあなたの道が何であるかを正確に知っています。また、期待される結果は何ですか?簡単な例がありますか? –solrj.SolrQuery
の「Q」パラメータでそのtoString(field)
を置くことによって、クラスを使用私は両方をしました。それが役に立ったら教えてください – selotape