草庐IT

fieldIndex

全部标签

java - 如何使用加权函数对多个字段的搜索结果进行排序?

我有一个Lucene索引,其中每个文档都有几个包含数值的字段。现在我想根据该字段的加权和对搜索结果进行排序。例如:field1=100field2=002field3=014权重函数如下所示:f(d)=field1*0.5+field2*1.4+field3*1.8结果应按f(d)排序,其中d代表文档。排序函数应该是非静态的,并且可能因搜索而异,因为常量因素会受到执行搜索的用户的影响。有没有人知道如何解决这个问题,或者知道如何以另一种方式实现这个目标? 最佳答案 您可以尝试实现自定义ScoreDocComparator.例如:pub