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