我希望 SOLR 的搜索结果如下所示:
所有具有相同分数的文档将按添加日期降序排列。
因此,当我查询 solr 时,我将有 n 个文档。在这个结果集中,会有多组得分相同的文档。我希望这组文档中的每一个都按添加日期降序排列。
我发现我可以使用函数查询来完成此操作,更准确地说是使用rord
函数http://wiki.apache.org/solr/FunctionQuery#rord,但正如文档中所述
警告:从 Solr 1.4 开始,ord() 和 rord() 可能会导致内存使用过多,因为它们必须在顶级读取器中使用 FieldCache 条目,而排序和函数查询现在使用段级别的条目。因此,除了 ord()/rord() 之外,排序或使用不同的函数查询将使内存使用加倍。
它会导致过多的内存使用。
我还有什么其他选择?
我在想用recip(ms(NOW,startTime),1,1,0)
. 这是最好的方法吗?
如果我使用 recip 和 ms 会对性能产生负面影响吗?