其他一切保持不變,我的一些對象比其他對象更有價值。Hibernate Search/Lucene中的文檔提升
是否有可能在指數時間增加對象,比如說根據美元價格?
或者是否有價值觀的數量有限,我希望這會工作:
f:aaa^4 f:bbb^3 f:ccc^2 animal:elephant
但我必須失去了一些東西。
其他一切保持不變,我的一些對象比其他對象更有價值。Hibernate Search/Lucene中的文檔提升
是否有可能在指數時間增加對象,比如說根據美元價格?
或者是否有價值觀的數量有限,我希望這會工作:
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
。無論animal:elephant
如何,您現在擁有的方式都會找到只有f:aaa
的東西。
你可以在Lucene的Action中看到如何編寫自定義記錄器的例子,它允許你根據價格進行更多的提升操作。我不知道有什麼辦法可以在不編寫代碼的情況下做到這一點。
如果您使用的是hibernate-search,則可以使用註釋將增強直接添加到字段。有兩種類型的增強:適用於整個對象的動態增強,或者場級增強。你可能需要動態的提升,並且可以使用指定: @DynamicBoost(implement執行= VIPBoostStrategy.class)