这是我基于评分的评分资料。
"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和等级5来到最后?
答案 0 :(得分:0)
有许多因素会影响项目的分数和最终排序顺序。不看数据集就很难说,但这里有几点需要考虑。
虽然评分函数将基于“评级”字段影响评分,但基本评分将由文本匹配的相关性给出。
文本匹配的相关性的计算考虑了文档和文档之间的常见术语(有关某些背景,请参阅http://en.wikipedia.org/wiki/Tf%E2%80%93idf)。如果您的搜索中有多个单词,那么可能影响排名的一件事就是文档的某些子集中有一个罕见的术语。在你的情况下,你有一个单一的术语(“食物”),所以唯一可能产生影响的方面是文本长度。为了解释个别术语如何在大型短语中被稀释,较短的短语上的术语命中得分高于较长短语的命中。在小型数据集上,这些细微之处往往更加明显,有时候得分很接近一个文档中的一些额外术语,而另一个文档的相关性会降低。
当然,这也可能是我们的一个问题。
很高兴为您的具体案例深入细节。我需要有关数据集的更多详细信息(文档数量,一些内容样本等),如果您不想公开发布内容,我们可以在此处或私人电子邮件中进行此操作。