排名得分
当使用 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 排名规则 | 用于计算查询的最大拼写错误数 |