【发布时间】:2018-03-19 15:31:15
【问题描述】:
我是 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)
所以看起来它应该可以为最大值设置一个很大的值,但又只是想知道最佳实践。
谢谢!
【问题讨论】:
标签: ranking azure-cognitive-search