-2

这是我基于评分的评分资料。

"scoringProfiles":{ "name": "ratings",
    "functions": [
        {
            "type": "magnitude",
            "fieldName": "rating",
            "boost": 10,
            "interpolation": "linear",
            "magnitude": {
                "boostingRangeStart": 1,
                "boostingRangeEnd": 10,
                "constantBoostBeyondRange": false
            }
        }
    ]
}

我搜索后得到的结果

RecID   Rating No.
 1      4.5
 2      4
 3      4
 4      5

为什么 RecID 4 和 Rating No. 5 排在最后?

4

1 回答 1

0

有许多因素会影响项目的得分和最终排序顺序。不看数据集就很难说,但这里有一些事情需要考虑。

虽然评分功能会根据“评分”字段影响评分,但基本评分将由文本匹配的相关性给出。

计算文本匹配的相关性时考虑了文档内和文档间的常用术语(有关一些背景,请参见http://en.wikipedia.org/wiki/Tf%E2%80%93idf)。如果您的搜索中有多个单词,可能会影响排名的一件事是文档的某些子集中有一个稀有词。在您的情况下,您只有一个术语(“食物”),因此唯一可能产生影响的方面是文本长度。为了说明单个术语如何被大短语稀释,较短短语的术语命中比较长短语的命中得分更高。在小型数据集上,这些细微之处往往更明显,有时分数接近,在一个文档中比另一个文档中有一些额外的术语会导致它的相关性下降。

当然,这也可能是我们这边的问题。

很高兴为您的具体案例深入了解细节。我需要有关数据集的更多详细信息(文档数量、一些内容样本等),如果您不想公开发布内容,我们可以在这里或在私人电子邮件中进行。

于 2014-10-29T10:09:15.580 回答