相关性
排名得分
本文解释了 searchableAttributes
数组中属性的顺序如何影响搜索结果的相关性。
当使用 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 排名规则 | 用于计算查询的最大错别字数量 |