排名分数
当使用 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 排名规则,该规则几乎总是被使用 |
synonyms | 总是 | 同义词会影响 words 排名规则,该规则几乎总是被使用 |
typoTolerance | 使用了 typo 排名规则 | 用于计算查询的最大拼写错误数 |