Solr比例功能如何工作?

时间:2016-07-25 19:42:31

标签: solr

Solr文档says表示比例函数:

  

缩放函数x的值,使它们落在minTarget之间   和maxTarget包含。

作为一个例子,它说:

  

scale(x,1,2)所有值都介于1和2之间。

我的问题是,怎么样? 如果我给这个函数编号为78.3并尝试将其缩放到1到2之间,它是如何转换为1到2格式的?

1 个答案:

答案 0 :(得分:2)

它将遍历索引中的所有文档(如果我read the source正确,它适用于整套文档而不是当前结果集),找到最小值和最大值,然后缩放值在每个文件中,当它返回到两个提供的数字之间时。

因此,如果您的文档包含0,5,10并调用scale(x, 1, 2),那么您应该返回11.52

来自源的实际实施:

return (vals.floatVal(doc) - minSource) * scale + min;