Solr文档says表示比例函数:
缩放函数x的值,使它们落在minTarget之间 和maxTarget包含。
作为一个例子,它说:
scale(x,1,2)所有值都介于1和2之间。
我的问题是,怎么样? 如果我给这个函数编号为78.3并尝试将其缩放到1到2之间,它是如何转换为1到2格式的?
答案 0 :(得分:2)
它将遍历索引中的所有文档(如果我read the source正确,它适用于整套文档而不是当前结果集),找到最小值和最大值,然后缩放值在每个文件中,当它返回到两个提供的数字之间时。
因此,如果您的文档包含0,5,10并调用scale(x, 1, 2)
,那么您应该返回1
,1.5
和2
。
来自源的实际实施:
return (vals.floatVal(doc) - minSource) * scale + min;