Hibernate Search / Luceneでのドキュメントブースト
-
29-09-2019 - |
質問
他のすべてが同じままであり、私のオブジェクトのいくつかは他のオブジェクトよりも価値があります。
インデックス時にオブジェクトを高めることは可能ですか?
または、あなたが限られた数の値を持っているなら、私はこれがうまくいくことを望んでいました:
f:aaa^4 f:bbb^3 f:ccc^2 animal:elephant
しかし、私は何かが足りないに違いありません。
解決
あなたが言っていることはうまくいくでしょう。ただし、おそらくそのように再フォーマットしたいと思うでしょう (boost query) +(original query)
, 、例: (f:a^4 f:b^3 b:c^2) +animal:elephant
. 。あなたが今持っている方法は、しか持っていないものを見つけるでしょう f:aaa
, 、 かかわらず animal:elephant
.
Luceneは、価格に応じてブーストのように何かをすることができるカスタムスコアラーを書く方法の例では、行動中の動作を見ることができます。ただし、コードを作成せずにこれを行う方法はわかりません。
他のヒント
Hibernate-Searchを使用している場合は、注釈を使用してフィールドに直接ブーストを追加できます。ブーストには2つのタイプがあります。オブジェクト全体に適用される動的ブースト、またはフィールドレベルのブーストです。おそらく動的ブーストが必要で、@dynamicboost(empl = vipbooststrategy.class)を使用して指定できます。
所属していません StackOverflow