0

他のすべては同じままですが、私のオブジェクトのいくつかは他のオブジェクトよりも価値があります.

米ドルの価格に応じて、インデックス時にオブジェクトをブーストすることは可能ですか?

または、値の数が限られている場合は、これが機能することを期待していました:

f:aaa^4 f:bbb^3 f:ccc^2 animal:elephant

しかし、私は何かが欠けているに違いありません。

4

2 に答える 2

1

あなたが言っていることはうまくいくでしょう。ただし、おそらく次のように再フォーマットすることをお勧めし(boost query) +(original query)ます(f:a^4 f:b^3 b:c^2) +animal:elephantf:aaaあなたが今持っている方法は、 に関係なく、しか持っていないものを見つけるでしょうanimal:elephant

Lucene in Action で、価格に応じたブーストのようなものを実行できるカスタム スコアラーを作成する方法の例を確認できます。ただし、コードを書かずにこれを行う方法はわかりません。

于 2010-11-09T22:27:13.323 に答える
0

hibernate-search を使用している場合は、アノテーションを使用してフィールドにブースティングを直接追加できます。ブーストには、オブジェクト全体に適用される動的ブーストとフィールド レベル ブーストの 2 種類があります。おそらく動的ブーストが必要であり、次を使用して指定できます: @DynamicBoost(impl = VIPBoostStrategy.class)

http://docs.jboss.org/hibernate/search/3.2/reference/en-US/html/search-mapping.html#section-boost-annotationを参照してください。

于 2011-03-10T23:12:56.157 に答える