排名分数
使用 showRankingScore
搜索参数 时,Meilisearch 会为每个文档添加一个全局排名分数字段 _rankingScore
。_rankingScore
的值介于 0.0
和 1.0
之间。排名分数越高,文档越相关。
排名规则按相关性(words
、typo
、proximity
、exactness
、attribute
)或字段值(sort
)对文档进行排序。由于 sort
不会根据相关性对文档进行排名,因此它不会影响 _rankingScore
。
注意
文档的排名分数不会根据同一索引中其他文档的分数而改变。
例如,如果文档 A 对查询词的得分为 0.5
,无论文档 B、C 或 D 的得分为多少,此值都保持不变。
下表详细介绍了所有可能影响 _rankingScore
的索引设置。未列出的设置不会影响排名分数。
索引设置 | 如果影响 | 原因 |
---|---|---|
searchableAttributes | 使用了 attribute 排名规则 | attribute 排名规则根据查询词出现的属性对文档进行评分。顺序由 searchableAttributes 决定。 |
rankingRules | 始终 | 分数是通过计算每个排名规则的子分数,并根据其顺序赋予权重来计算的。 |
stopWords | 始终 | 停用词会影响 words 排名规则,而 words 排名规则几乎总是被使用。 |
synonyms | 始终 | 同义词会影响 words 排名规则,而 words 排名规则几乎总是被使用。 |
typoTolerance | 使用了 typo 排名规则 | 用于计算查询的最大拼写错误数量。 |