其他一切都保持不变,我的一些物品比其他物品更有价值。
是否可以在索引时提升对象,让我们说根据美元价格?
或者如果你的数值有限,我希望这会有效:
f:aaa^4 f:bbb^3 f:ccc^2 animal:elephant
但我必须遗漏一些东西。
答案 0 :(得分:1)
你所说的会奏效。但是,您可能希望将其重新格式化为(boost query) +(original query)
,例如(f:a^4 f:b^3 b:c^2) +animal:elephant
。现在,您可以找到只有f:aaa
的内容,而不管animal:elephant
。
你可以看看Lucene in Action中的一个例子,说明如何编写一个自定义得分手,让你可以根据价格做更多的提升。如果不编写代码,我不知道你能做到这一点。
答案 1 :(得分:0)
如果您正在使用hibernate-search,则可以使用注释将增强直接添加到字段。有两种类型的增强:动态增强适用于整个对象,或场级增强。您可能需要动态提升,可以使用以下命令指定: @DynamicBoost(impl = VIPBoostStrategy.class)