Azure搜索评分配置文件幅度按下载

时间:2018-03-19 15:31:15

标签: ranking azure-search

我是Azure搜索新手,所以我只想在尝试实现它之前运行它。我们对项目进行了搜索设置,我们希望根据其初始分数和项目使用/下载次数对结果进行评分/排名。我们希望下载的项目最多显示在结果列表的顶部。

我们在搜索索引中有一个单独的字段,其中包含已使用/下载的计数(itemCount)。

我知道我必须设置一个Magnitude配置文件,但我不确定该范围的用途,因为itemCount可以包含0 - N所以我只是将范围设置为一些大数字,即100,000,000或者是什么最佳实践?

var functionRankByDownload = new MagnitudeFunction()
{
    Boost = 1000,
    BoostingRangeStart = 0,
    BoostingRangeEnd = 100000000,
    ConstantBoostBeyondRange = true,
    FieldName = "itemCount",
    Interpolation = InterpolationTypes.Linear
};
scoringProfile1.Functions = new List() { functionRankByDownload };

我发现分数计算如下:

((initialScore * boost * itemCount) - min)/(max-min)

所以看起来它应该可以正常工作,但是只需要知道最佳实践。

谢谢!

1 个答案:

答案 0 :(得分:1)

这似乎很合理。根据具体情况, BoostingRangeEnd 可以是您范围内的任何合理范围。因为,您正在使用 ConstantBoostBeyondRange ,它还会适当地将范围内的值提升到范围之外。

您可能还想尝试使用此类大范围的提升值,并查看更大的提升值是否对您的方案更有帮助。