Meilisearch 中有两种排序规则:内置排序规则和自定义排序规则。本文介绍了使用和配置内置排序规则的主要方面。

内置排序规则是 Meilisearch 相关性计算的核心。

内置排序规则列表

Meilisearch 包含以下六种内置排序规则

[
  "words",
  "typo",
  "proximity",
  "attribute",
  "sort",
  "exactness"
]

根据您的需求,您可能需要更改此顺序。为此,请使用更新设置端点更新排序规则端点

1. 词语

结果按匹配查询词的递减数量排序。首先返回包含所有查询词的文档。

words 规则从右到左工作。因此,查询字符串的顺序会影响结果的顺序。

例如,如果有人搜索 batman dark knightwords 规则会首先将包含所有三个词的文档排在前面,其次是仅包含 batmandark 的文档,然后是仅包含 batman 的文档。

2. 错别字

结果按错别字的递增数量排序。首先返回与查询词匹配且错别字较少的文档。

3. 近似度

结果按匹配查询词之间距离的递增数量排序。首先返回查询词距离较近且与查询字符串顺序相同的文档。

可以降低此排序规则的精度。 这可以显著提高索引性能。在少数用例中,降低精度也可能导致使用多个搜索词的查询的搜索相关性降低。

4. 属性

结果根据属性排序顺序排序。首先返回在更重要属性中包含查询词的文档。

另外,请注意,属性开头包含查询词的文档将被视为比属性末尾包含查询词的文档更相关。

5. 排序

结果是根据查询时确定的参数排序的。当 sort 排序规则位于更高位置时,排序是详尽的:结果的相关性会降低,但更严格地遵循用户定义的排序顺序。当 sort 位于较低位置时,排序是相关的:结果将非常相关,但可能不总是遵循用户定义的顺序。

与其他排序规则不同,sort 仅对包含 sort 搜索参数的查询生效。如果搜索请求不包含 sort,或其值无效,则此规则将被忽略。

6. 精确度

结果按匹配词与查询词的相似性排序。首先返回包含与查询词完全相同的词的文档。

示例