在我的查询中,我想根据一系列值(例如$ 500 - $ 1000)搜索价格并返回模糊结果集。
我可以通过降价来增加这些价值:[500到1000] ^ 10,但它不会得到499美元,而不是200美元。
我可以创建一个类似的增强函数:recip(abs(sub(price,750)),1,1000,1000)^ 10,但这得分501比500更相关。
有没有办法让$ 500到$ 1000有一个提升功能,而另一个提升功能用于超出该范围的值?
谢谢, 德鲁
编辑功能中的拼写错误
答案 0 :(得分:2)
recip(abs(sub(price,750)),1,1000,1000)^10
使用范围的中点而不是下限。
修改:要回答更新的问题:
在这里查看map功能 - 您可以将500到1000之间的所有价格映射到750,然后将其用于提升。就像是:
recip(abs(sub(map(price,500,1000,750),750)),1,1000,1000)^10
这应该得分600和700相同,但它会比400得分高400.