内置排名规则
Meilisearch 中有两种类型的排名规则:内置排名规则和 自定义排名规则。本文介绍了使用和配置内置排名规则的主要方面。
内置排名规则是 Meilisearch 相关性计算的核心。
内置排名规则列表
Meilisearch 包含六个内置排名规则,顺序如下
[
"words",
"typo",
"proximity",
"attribute",
"sort",
"exactness"
]
根据您的需求,您可能需要更改此顺序。为此,请使用更新设置端点或更新排名规则端点。
1. 词语
结果按匹配查询词条数量降序排序。首先返回包含所有查询词条的文档。
注意
“词语”规则从右向左工作。因此,查询字符串的顺序会影响结果的顺序。
例如,如果有人搜索 batman dark knight
,则“词语”规则会将包含所有三个词条的文档排在首位,将仅包含 batman
和 dark
的文档排在第二位,并将仅包含 batman
的文档排在第三位。
2. 拼写错误
结果按拼写错误数量增序排序。首先返回与查询词条匹配且拼写错误较少的文档。
3. 邻近度
结果按匹配查询词条之间的距离增序排序。首先返回查询词条彼此靠近且顺序与查询字符串相同的文档。
可以降低此排名规则的精度。 这可能会显着提高索引性能。在少数用例中,降低精度也可能导致使用多个搜索词条的查询的搜索相关性降低。
4. 属性
结果根据属性排名顺序排序。首先返回在更重要的属性中包含查询词条的文档。
另请注意,属性开头包含查询词的文档将被认为比属性末尾包含查询词的文档更相关。
5. 排序
结果根据查询时确定的参数排序。当“排序”排名规则的位置较高时,排序是详尽的:结果的相关性会降低,但更紧密地遵循用户定义的排序顺序。当“排序”位置较低时,排序是相关的:结果将非常相关,但可能并不总是遵循用户定义的顺序。
注意
与其他排名规则不同,“排序”仅对包含sort
搜索参数的查询有效。如果搜索请求不包含 sort
,或者其值无效,则将忽略此规则。
6. 精确度
结果按匹配词语与查询词语的相似度排序。首先返回包含与查询词条完全相同的词条的文档。