【问题标题】:Azure Search Scoring Profile Magnitude by DownloadsAzure 搜索评分配置文件大小(按下载)
【发布时间】: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


    【解决方案1】:

    这似乎是合理的。 BoostingRangeEnd 可以是任何合理的范围,具体取决于场景。由于您使用的是 ConstantBoostBeyondRange,因此它还会适当地提升范围之外的值。

    您可能还想在这样的大范围内试验提升值,看看更大的提升值是否对您的方案更有帮助。

    【讨论】:

      猜你喜欢
      • 2015-07-26
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2020-11-03
      • 2017-05-16
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      相关资源
      最近更新 更多