如何在solr查询响应中包含计算数据

时间:2013-10-24 10:25:15

标签: solr lucene

我想使用相当复杂的公式对我的solr查询进行排序。我想我可以通过在查询的sort参数中设置正确的函数来使它工作,但我想通过查看每个文档的函数的显式值来检查我的工作。

我想通过将计算值作为结果中的字段包含在内,然后只对该字段进行排序。这是正确的方法,如果是这样,我怎么能这样做,还是有另一种方法?我已经尝试启用debugquery,但我认为它只解释了相关性得分,而不是用于对结果进行排序的值。

在管理信息中心,我的solr-spec和lucene-spec都是4.5.0

1 个答案:

答案 0 :(得分:2)

使用function query

您可以使用LocalParams语法,即{!func}或设置defType=func。 (您可能不想使用_val_挂钩,因为您的函数值将成为乐谱中的一个组件。)乐谱是函数的值,因此您的结果会自动按函数值排序。使用fl=*,score获取分数。