基于Azure搜索评分配置文件的结果问题

基于Azure搜索评分配置文件的结果问题,azure,azure-cognitive-search,Azure,Azure Cognitive Search,这是我的评分档案 "scoringProfiles":{ "name": "ratings", "functions": [ { "type": "magnitude", "fieldName": "rating", "boost": 10, "interpolation": "linear", "magnitude": {

这是我的评分档案

"scoringProfiles":{ "name": "ratings",
    "functions": [
        {
            "type": "magnitude",
            "fieldName": "rating",
            "boost": 10,
            "interpolation": "linear",
            "magnitude": {
                "boostingRangeStart": 1,
                "boostingRangeEnd": 10,
                "constantBoostBeyondRange": false
            }
        }
    ]
}
搜索后得到的结果


为什么RecID 4和排名5排在最后一位?

有许多因素会影响项目的得分和最终排序顺序。不看数据集,很难说清楚,但这里有一些事情要考虑。 虽然评分函数会影响基于评分字段的分数,但基本分数将由文本匹配的相关性给出

计算文本匹配的相关性时,要考虑到文档内和文档间的常用术语,请参阅一些背景信息。如果您在搜索中有多个词,可能会影响排名的一件事是文档的某些子集中有一个罕见的词。在你的例子中,你只有一个术语“食物”,所以剩下的唯一影响因素就是文本长度。为了解释单个术语是如何被大型短语冲淡的,较短短语的术语命中率要高于较长短语的命中率。在小数据集上,这些微妙之处往往更为明显,有时分数很接近,在一个文档中比另一个文档中多出几个术语,会导致相关性下降

当然,这也可能是我们方面的问题


很高兴为您的具体案例深入了解更多细节。我需要更多关于文档数据集、一些内容示例等的详细信息,如果您不想公开发布内容,我们可以在这里或通过私人电子邮件来完成。

我需要更多的上下文帮助。搜索请求是什么?它包括搜索关键字吗?你是否参考了其中的得分档案?这是我的搜索请求,带有搜索关键字,并参考了得分档案。https://{0}/index/{1}/docs?api版本={2}&search=foods&searchFields=Restaurant&scoringProfile=ratings&$skip=50&$count=true
RecID   Rating No.
 1      4.5
 2      4
 3      4
 4      5